RTSPServer主要是采集摄像头和麦克风数据,进行H.264编码以及aac编码,并对外提供RTSP直播流。市场上成熟的RTSPserver组件很少见,其中EasyRTSPServer就是一款稳定、高效、可靠、多平台支持的RTSPServer组件。
在我们开发RTSP视频流的分发阶段,我们也考虑过如何使用ffserver分发RTSP视频流,如何搭建RTSP服务器,除了EasyRTSPServer之外,我们探寻出了另外一条由ffserver为基础的道路。
ffmpeg提供了ffserver可以搭建RTSP流媒体服务器。但是在4.0以上的ffmpeg中已经去除了ffserver,如果需要源码可以下载3.4 的release版本。我们本文将介绍一下用ffserver搭建一套RTSP的流媒体服务器。
1、下载编译好的ffserver https://ffbinaries.com/downloads
下载完成后,解压。
2、目录中只有ffserver可执行文件,运行ffserver 还需要配置文件。配置文件可以从ffmpeg源码的doc文件中拷贝出来进行修改使用,或者自己配置。
配置ffserver.conf使能RTSP分发功能如下:
RTSPPort 8554 #rtsp 监听端口
BindAddress 0.0.0.0
RTSPBindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 30000
CustomLog -
NoDaemon
#NoDefaults
<Stream test>
File "/opt/ffserver-3.4-linux-64/test.mp4" #文件完整路径
Format rtp #格式必须设置成rtp
</Stream>
3、播放端RTSP地址为rtsp://ip:port/${stream_name}
stream_name:ffserver.conf中Stream标签的name
如当前配置下的RTSP地址为rtsp://192.168.99.140:8554/test
4、运行ffserver
5、使用VLC进行播放 rtsp://192.168.99.140:8554/test,即可播放成功。