天天看点

ffmpeg rtsp转rtmp_rtsp流前端web页面播放

rtsp作为实时流传输的一种协议,经常用于视频监控业务,摄像头实时产生的流就是rtsp流。一般视频监控业务厂商会提供专门的客户端供客户浏览实时视频流。视频分析业务兴起后,很多业务系统(特别是GA行业),都以B/S方式提供给用户,毕竟在GA的PC中每一台上安装一个client比较麻烦。在很多应用中,GA工作人员希望通过浏览器直接查看摄像头的实时视频流,但是浏览器在无插件情况下不支持实时视频流的播放。

为实现rtsp流在前端实时播放,我们先用live555模拟一路rtsp流,然后用ffmpeg将rtsp流转化为供web播放的.m3u8格式的视频格式,最后在前端用videojs在前端html页面中播放出来。

基础环境安装

#live555安装

wget http://www.live555.com/liveMedia/public/live555-latest.tar.gz

tar xzf live555-latest.tar.gz

cd live

./genMakefiles linux-64bit

make

#live555测试

cd mediaServer

./live555MediaServer

输出如下信息说明live555安装成功。

ffmpeg rtsp转rtmp_rtsp流前端web页面播放

#ffmpeg安装

yum install -y epel-release

rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

yum repolist

rpm –import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm

yum repolist

yum install -y ffmpeg

#ffmpeg测试,输出如下信息说明安装成功

ffmpeg -version

ffmpeg rtsp转rtmp_rtsp流前端web页面播放
live555模拟rtsp流

将视频文件复制到和上面live555MediaServer可执行文件的同一个目录,可用vlc在打开网络中输入地址 rtsp://IP/videoname就可以播放视频流了,rtsp流模拟完成(本例中用test.mkv视频模拟是rtsp流,生成的rtsp流地址为rtsp://IP/test.mkv,vlc中的播放效果如下)。

ffmpeg rtsp转rtmp_rtsp流前端web页面播放
ffmpeg将rtsp流转为m3u8

#本例中用如下命令将rtsp流转化为m3u8

ffmpeg -i rtsp://192.168.226.130/test.mkv -strict -2 -y ./video.m3u8

-i参数表示rtsp流地址,-y表示转化完成的m3u8格式的播放文件,具体的ffmpeg可用的参数比较多,可用用ffmpeg –help查看(参数真的很多,不信你试试)。输出如下信息,表示视频流正在实时转化。

ffmpeg rtsp转rtmp_rtsp流前端web页面播放

相应会在命令启动的当前目录生成一个video.m3u8文件和大量的.ts文件(如下)。

ffmpeg rtsp转rtmp_rtsp流前端web页面播放

rtsp流为m3u8格式的过程其实是对流进行实时切片的过程,随着时间的推移,ts文件会在相应的文件夹下越积越多,并且这个过程特别消耗cpu,本例中ffmpeg的cpu占用如下。

ffmpeg rtsp转rtmp_rtsp流前端web页面播放
html视频流播放

#videojs播放m3u8实时视频流

ffmpeg rtsp转rtmp_rtsp流前端web页面播放

#html与video.m3u8放置于同一级目录,用浏览器打开html页面测试如下(视频流播放成功)

ffmpeg rtsp转rtmp_rtsp流前端web页面播放

视频流在这里有点卡顿,主要还是ffmpeg比较耗cpu,调整ffmpeg的参数或换好一点的cpu或许会好点。

本篇内容在本人个人公众号上也已发布,欢迎关注本人微信公众号“勤菜鸟”。

Ref

https://blog.csdn.net/qq_34627459/article/details/74956569

http://www.cnblogs.com/dpf-10/p/5623101.html

https://blog.csdn.net/cuishiying/article/details/78562703

继续阅读