物联网架构成长之路(41)-直播流媒体入门(RTSP篇)
1. 搭建RTSP服务
首先现在音视频利器 ffmpeg,这个到http://www.ffmpeg.org/download.html 这里下载压缩包即可。
文档参考:http://trac.ffmpeg.org/wiki/ffserver
二进制下载地址:https://ffbinaries.com/downloads
由于ffserver在4.0以上已经移除了,所以只能下载3.x功能,不过已经够用了。我们只是用来测试而已。
新增ffserver.conf 配置
1 RTSPPort 5454 2 HTTPBindAddress 0.0.0.0 3 RTSPBindAddress 0.0.0.0 4 MaxHTTPConnections 2000 5 MaxClients 1000 6 MaxBandwidth 1000 7 <Stream test.rtsp> 8 File "./003.MOV" 9 Format rtp 10 </Stream>
启动RTSP服务
利用ffplay 测试播放rtsp视频
ffplay rtsp://172.16.20.197:5454/test.rtsp
2. 搭建RTSP流媒体服务器
注意这种与上面那一种的区别。
我们使用开源 https://github.com/EasyDarwin/EasyDarwin 搭建一个流媒体服务。
该方式的流程是,利用ffmpeg 以RTSP流方式推流到流媒体服务器EasyDarwin,然后再利用ffplay 以RTSP流方式拉流播放
先到这里https://github.com/EasyDarwin/EasyDarwin/releases 下载EasyDarwin的二进制包。然后默认配置运行起来。
启动后,访问http://172.16.23.241:10008 界面效果如下
利用ffmpeg,将文件推流到EasyDarwin流媒体服务器上。
ffmpeg -re -i 003.MOV -rtsp_transport tcp -vcodec h264 -f rtsp rtsp://172.16.23.241:554/test.rtsp
利用ffplay,从EasyDarwin流媒体服务器上拉流进行播放。
ffplay.exe -i rtsp://172.16.23.241:554/test.rtsp
我们平时买的大华,海康等这些IPCamera,一般都是提供RTSP协议。参见的格式如下:
rtsp://[username]:[password]@[ip]:[port]/[codec]/[channel]/[subtype]/av_stream
这种方式就是我们的第一种方式。一般我们利用一个PC工具,就可以实现播放监控。
EasyDarwin自带有RTSP拉流功能。
rtsp://172.16.20.197:5454/test.rtsp => rtsp://172.16.23.241/easydarwin
利用这个功能实现从RTSP流到RTSP流,类似于转播功能。
参考资料:
IPCamera RTSP格式: https://blog.csdn.net/hk121/article/details/83858480
EasyDarwin提供PC工具:https://pan.baidu.com/s/1-7lZ3KM4wPl87OLx2tWjTQ
作者:无脑仔的小明 出处:http://www.cnblogs.com/wunaozai/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 如果文中有什么错误,欢迎指出。以免更多的人被误导。有需要沟通的,可以站内私信,文章留言,或者关注“无脑仔的小明”公众号私信我。一定尽力回答。 |