Crtmp Server 包含了rtsp 服务功能,如果需要一个简单轻量的rtsp服务,Crtmp Server会是不错的选择。
默认情况下,rtsp功能是关闭的,需要在配置文件中打开。window环境下如何搭建crtmp server,前面有
文章介绍,这里不再重复,不清楚的同学,请看 查看前面的博客http://www.cnblogs.com/wanggang123/p/6340653.html。
配置文件修改后的内容如下图所示。
图1 crtmp配置项修改
打开rtsp配置项后,Crtmp Server服务运行后的界面如下图所示
图2,CrtmpServer运行界面
是不是修改了配置文件以后,rtsp服务就可以正常运行起来呢?答案是否顶,还需要修改下stream name。
默认情况下推送rtsp流 到crtmp server的stream name 统一为No Name(有兴趣的同学可以看源码,这里
不详细说明,本文重点不在这里)。为了满足能接收多个rtsp流需要修改下源码,修改后的代码如下图
所示,修改文件basertspappprotocolhandler.cpp。
图3 修改rtsp stream name
stream name 修改以后还有个地方有修改下,否则同时推送音视频流时,取流客户端无法正常播放。
修改处的代码如下图所示,去掉 条件if (_videoLastTs < _audioLastTs)。
图4 音视频同时同流代码修改处
至此,所有的准备工作已经做好,我们可以开始推流,推流可以用ffmpeg进行。命令格式如下:
ffmpeg -re -i D: est.ts -vcodec copy -acodec copy -f rtsp -rtsp_transport tcp rtsp://127.0.0.1:554/live/stream0
取流端可以用ffpaly进行播放 播放的命令是: ffplay -rtsp_transport tcp rtsp://127.0.0.1:554/live/stream0
通过rtsp推到crtmp server的视频流也可以通过rtmp协议播放,播放的地址是rtmp://127.0.0.1/live/stream0。
如需要交流请假QQ群流媒体/Ffmpeg/音视频1038388075,127903734,或者QQ350197870.