OBS官方英文SRT教學
需要軟體Linux(WSL2)、Docker desktop、OBS
以及設定Windows防火牆、Modem設定Port Forwarding Input
port 1935 for SRT、port 4444 for OBS websocket(可選)
環境跑在WSL下,部分軟體用Container執行
整體流程大致上是
先把畫面串流透過SRT送去SRT Server
OBS則會從SRT Server拉串流下來輸出給直播平台
NOALBS則從旁邊監控bitrate狀態 , 依據情形透過OBS Websocket控制/切換BRB場景
NOALBS場景切換
obs-websocket(Github)
安裝在obs目錄下後,上方工具選單多出Websockets server setting
NOALBS場景自動轉換(Github)
apt install npm
npm install --production
設定config.json
* OBS IP不能使用localhost疑似BUG? obs normalScene 一般場景名稱,___Scene依此類推 highRttTrigger RTT觸發BRB,README說比bitrate準確 refreshSceneInterval 重整場景時間 requestMs BRB場景偵測轉換時間 rtmp { "server": "srt-live-server", "stats": "http://127.0.0.1:8181/stats", //stats頁面 "publisher": "publish/live/feed1" //依據streamid } twitchChat channel 頻道名稱 botUsername 機器人名稱 oauth 填入IRC token language 可替換zh_tw顯示中文
可用指令集
* 如果要用!raid/!host,記得要把bot設定成編輯者
OBS網頁控制(可選)
皆依據使用裝置網路環境 , 例如同主機下連接localhost:4444
故從外部控制需要對外開放OBS websocket port , 不建議使用預設4444
- http://obs-web.niek.tv,Github
- 登入輸入OBS IP:Port+OBS密碼
- 場景轉換及串流縮圖
- http://t2t2.github.io/obs-tablet-remote,Github
- 多功能且可自訂介面
- 不含縮圖
SRT Server
srt-live-server修改版本 (Gitlab)
Docker image版本
自行修改sls.conf
listen srt port latency 延遲時間不建議太小,要跟APP一致 http_port 8181 http://127.0.0.1:8181/stats bitrate數據用來接自動轉場 domain_player 接收自訂名稱 domain_publisher 推送自訂名稱 default_sid 預設路徑如果APP不支援streamid record_hls 是否儲存VOD record_hls_path_prefix VOD路徑
docker run --rm -d -p 1935:1935/udp \
-p 8181:8181/tcp --name=srt --pull=always \
-v /custom_conf/sls.conf:/etc/sls/sls.conf b3ckontwitch/sls-b3ck-edit
APP推串流srt://IP_ADDR:1935?streamid=domain_publisher_name/live/<streamkey>
OBS新增媒體來源拉串流srt://IP_ADDR:1935?streamid=domain_player_name/live/<streamkey>
實況APP
用larix broadcaster
或其他支援SRT協定APP
Connections新增上述手機推串流至URLsrt://IP_ADDR:1935
以及streamid
* APP Mode可以設定僅限音源/bitrate上限
啟動流程
- 啟動SRT Server
- 啟動OBS等待Websocket連接
- 啟動NOALBS確認BOT/OBS連接正常
- 啟動實況APP確認串流連接正常
Q & A
Q: 為什麼需要用到SRT Server?
A: OBS可以直接當srt listener接串流,但如果要自動轉場需要stats頁面來取得當前bitrate
測試RTMP協定用
docker run -p 1935:1935 -p 8080:8080 -e RTMP_STREAM_NAMES=live \
--rm --pull=always --name rtmp -d jasonrivers/nginx-rtmp
http://127.0.0.1:8080/stat
bitrate數據用來接自動轉場
APP推串流 rtmp://IP_ADDR:1935/live/<streamkey>
OBS新增媒體來源拉串流rtmp://IP_ADDR:1935/live/<streamkey>
[…] https://blog.laszlo.tw/?p=1243 […]