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,即可播放成功。