這是一篇教您如何讓 OBS 可同時直播到多個平台,又解決 nginx 無法支援 Facebook RTMPS 的教學,不過這些東西需要有一定 linux 基礎,如果您看不懂的話請直接跳過吧!只要按照步驟就可以讓您的 OBS 同時直播到 Facebook 與 Youtube 等其他社群平台…
1.安裝 Homebrew 與 nginx 設定方式
打開您的 MAC 系統當中的『終端機』進入命令提示字元模式,按照順序輸入指令安裝 Homebrew 與 nginx。
- /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)”
- brew install wget
- brew tap denji/homebrew-nginx
- brew install nginx-full –with-rtmp-module
- nginx
- 安裝好之後請在瀏覽器輸入 http://localhost:8080 驗證服務是否正常運作。
2.設定 nginx 新增 RTMP 設定參數
編輯 /usr/local/etc/nginx/nginx.conf 設定檔新增並在 http 相關參數之上增加以下設定
- 變數1:請更改成您喜歡的英文單字,也就是日後你串流位置的後面目錄,例如設定成 leo 就變成 rtmp://localhost/leo
- push rtmp:// 部分輸入串流伺服器的位置,並在後面補上金鑰,每一行就是針對一個直播平台,要多平台就設定第二行即可
- 注意:nginx 不支援 RTMPS 加密傳輸,而且 Facebook 2019年11月1日起將不支援位加密的 RTMP,只能接受加密過後的 RTMPS,如果沒經過優化是無法啟動 nginx 服務
rtmp {
server {
listen 1935;
chunk_size 4096;
application 變數1 {
live on;
record off;
push rtmp://a.rtmp.youtube.com/live2/金鑰;
push rtmp://live-api-s.facebook.com:80/rtmp/金鑰;
}
}
}
3.將服務更改成 80 Port
編輯 /usr/local/etc/nginx/nginx.conf 設定檔找到以下參數將 8080 更改成 80 即可。
listen 8080;
nginx 基本指令
- 啟動:nginx
- 重新啟動:nginx -s reload
- 停止:nginx -s stop
- 離開:nginx -s quit
4.安裝 stunnel
由於 Facebook 2019年11月1日起將不支援位加密的 RTMP,只能接受加密過後的 RTMPS,所以利用 stunnel 讓 nginx 也能支援 RTMPS,輸入以下指令來安裝 stunnel
- brew install stunnel
5.設定 stunnel
在以下路徑新增『stunnel.conf』檔案並將以下內容複製貼上。
- /usr/local/etc/stunnel/stunnel.conf
[fb-live]
client = yes
accept = 127.0.0.1:19350
connect = live-api-s.facebook.com:443
verifyChain = no
最後再命令提示字元下輸入『stunnel』沒有出現錯誤訊息就代表成功囉,這樣在 nginx 設定檔當中只要輸入以下格式就會自動轉到 RTMPS。
- push rtmp://127.0.0.1:19350/rtmp/金鑰
6.OBS 串流設定
最後打開 OBS 在串流位置輸入『rtmp://localhost/leo』金鑰維持空白即可。
LEO 先生您好
請問一下, windows 系統 照上面的方式,也是行得通的嗎?
(原先可以FB+YT,但現在FB不吃了)
感謝您
TAC 敬上
你好,我想問下,安裝時候,提示Traceback (most recent call last):
-e:1:in `’: undefined local variable or method `“’ for main:Object (NameError),是什麼回事了!
大大可做一個windows10的教學嗎,
我也被fb rtmps的問題困擾