1. 程式人生 > 其它 >centos虛擬機器本地搭建srt直播伺服器

centos虛擬機器本地搭建srt直播伺服器

SRT簡介:

Secure Reliable Transport (SRT) 是一個開源的傳輸協議架構,基於UDT(可靠UDP協議)實現,主要是優化在不可靠網路上的傳輸效能。SRT是時下最熱門的網際網路傳輸協議,相比較RTMP網際網路傳輸,SRT具備"低延時、抗網路丟包"的優異特性,已被越來越多的網際網路直播平臺/雲平臺應用,比如騰訊雲、阿里雲、嗶哩嗶哩、微贊直播等。SRT可為廣大使用者帶來更快速、更流暢的視訊推拉流直播體驗。使用RTMP,HTTP+FLV或者HLS,直播延時一般大於3秒,使用SRT直播可以將延時控制在1s以內,同時連線數一般小於10個,主要應用在視訊通話、秀場連麥等應用場景。還有一種視訊直播的場景,就是同時要求低延時和大併發的場景,比如賽事直播、股票資訊同步、大班教育等。SRT可以很好地滿足上述場景的要求。

目標:

為了做ffmpeg的二次開發使用srt進行直播推流,同時使用srt的多種弱網對抗的能力,提升直播的穩定性和低延遲。

環境:

vmware + centos 7

搭建步驟:

使用https://github.com/Edward-Wu/srt-live-server進行搭建,由於sls依賴於srt的庫,所以需要一起下載srt庫進行編譯。

1:獲取srt原始碼進行編譯

  cd ~/ && wget https://github.com/Haivision/srt/archive/refs/tags/v1.4.4.tar.gz && tar -xzvf v1.4.4.tar.gz && cd srt-1.4.4/ && ./configure &&cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -DENABLE_C_DEPS=ON -DENABLE_SHARED=OFF -DENABLE_STATIC=ON

2:下載sls(srt-live-server)進行編譯

  cd ~/ &&git clone https://github.com/Edward-Wu/srt-live-server.git &&cd srt-live-server/ && make  

  

3:進入sls的bin目錄開啟sls服務

./sls  -c ../sls.conf 
./sls: error while loading shared libraries: libsrt.so.1.4: cannot open shared object file: No such file or directory

  如果提示錯誤:則需要修改配置檔案:/etc/ld.so.conf

  vim/etc/ld.so.conf

  在檔案末尾新增libsrt.so.1.4的檔案所在路徑

  執行ldconfig使其生效

4:進入sls的bin目錄,啟動sls服務,顯示如下表明服務啟動成功

  ./sls -c ../sls.conf

  

5:啟動ffmpeg推流測試

  win10下執行命令:

  ffmpeg -f gdigrab -framerate 30 -i desktop -vcodec libx264 -preset ultrafast -tune zerolatency -flags2 local_header -acodec libmp3lame -g 30 -pkt_size 1316 -flush_packets 0 -f mpegts srt://192.168.239.135:8080?streamid=uplive.sls.com/live/test1  

  

6:拉流測試

  ffplay -x 800 -y 600 -fflags nobuffer -i srt://192.168.239.135:8080?streamid=live.sls.com/live/test1  

  

結束:srt當前的生態不如rtmp,但是對於直播的延時是顯著的降低,後續可以使用ffmpeg的庫進行srt直播推流。