【準備】一個帶有公網 ip 且帶寬夠用的雲服務器。
本文測試的服務器環境: 騰訊雲服務器Ubuntu Server 18.04.1 LTS 64位 2C4G100M
【配置環境】
echo 'deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse ' > /etc/apt/sources.list && cat /etc/apt/sources.list
需要使用root賬號執行上面的命令。
apt update
apt install -y git gcc g++ unzip make python
git clone https://gitee.com/songboy/srs.git && ls srs
cd srs/trunk/ && ls
./configure && make
cat conf/srs.conf
【運行】
RTMP推流+RTMP拉流
./objs/srs -c conf/srs.conf
RTMP推流+RTMP/hls拉流
./objs/srs -c conf/http.hls.conf
RTMP推流+RTMP/hls拉流 後臺運行
nohup ./objs/srs -c conf/http.hls.conf > myout.file 2>&1 &
當返回pid則程序正常運行,例如:[2] 10654。
【查找並結束進程】
1.查找正在運行的程序
ps -ef | grep srs.conf
得到以下結果
root 19522 2038 0 17:22 pts/0 00:00:00 ./objs/srs -c conf/http.hls.conf
2.結束進程
想要結束程序的話,只需要輸入 kill -9 19522 就可以了。
【需要注意的地方】
【注意】hls拉流時,服務器應放行TCP:8080端口。
【問題】發現OBS 軟件 RTMP推流不成功,無法連接服務器。
【解決】服務器端 系統設置及安全組出站、入站均放行TCP:1935端口。
【溫馨提示】使用 nohup 可以使程序後臺運行。
【先說結論】
可以手機/電腦RTMP推流,可以手機hls/電腦RTMP/電腦hls拉流。
【建議推流/拉流方法】
電腦RTMP推流+電腦RTMP拉流(VLC/web)延時約3秒。
【不同方式下的延時】
電腦RTMP推流 手機hls拉流 70秒
電腦RTMP推流 電腦RTMP拉流 3秒(VLC)
電腦RTMP推流 電腦RTMP拉流 3秒(web)
電腦RTMP推流 電腦hls拉流 30秒(VLC)
電腦RTMP推流 電腦hls拉流 極其不流暢(web)
手機RTMP推流 手機hls拉流 50秒
手機RTMP推流 電腦RTMP拉流 4秒(VLC)
手機RTMP推流 電腦RTMP拉流 2秒(web)
手機RTMP推流 電腦hls拉流 70秒(VLC)
手機RTMP推流 電腦hls拉流 極其不流暢(web)
【壓力測試】
電腦OBS RTMP推流,電腦VLC播放器3個窗口RTMP拉流、3個窗口hls拉流。推流流量130k/s。
基本不佔用雲服務器內存和CPU,負載較低。
【實際測試】使用源碼方式搭建SRS流媒體服務
服務器環境: 騰訊雲服務器Ubuntu Server 18.04.1 LTS 64位 2C4G100M
電腦發送及接收端環境:WIN10純淨版 家用100M寬帶
【以下軟件使用方法】【玩轉騰訊雲】搭建推流和拉流環境
電腦RTMP推流:OBS軟件 OBS下載
推流服務器:rtmp://123.57.228.113/live
推流串流密鑰:123
OBS設置 【輸出-視頻比特率】爲700kbps, 【音頻-採樣率】爲44.1KHZ】,【視頻-輸出分辨率】爲1920X1080時,延時約3秒,畫質清晰,實際下行流量約150k/s。
電腦RMTP/hls拉流:VLC/網頁播放
RTMP拉流rtmp://192.144.144.109:1935/live/123
hls拉流:http://192.144.144.109:8080/live/123.m3u8
下面的網址可以在線解析播放hls(m3u8)、RMTP流。
手機RMTP推流:杏林推流軟件
推流: rtmp://192.144.144.109:1935/live/123
720P -Protrait 推流流量約200k/s,屏幕無變化時推流流量約70k/s。
手機hls拉流:Chrome瀏覽器網頁播放
hls拉流:http://192.144.144.109:8080/live/123.m3u8
【參考文章原文鏈接】
Ubuntu中使用Nginx+rtmp模塊搭建流媒體視頻點播服務
本文代碼來自:docker中使用源碼方式搭建SRS流媒體服務 侵權刪除。