長話短説,最近我開始直播我的遊戲實況,我並不指望有多少人看,Just, Why not? 再者每個直播平台都會有直播回放。相當於免費儲存我每一次遊戲的錄影,何樂而不為?
扯遠了,如你所見,近期我有了多平台同時直播的需求,然而 OBS 本身顯然不支援同時推流,同時也因為不支援設定代理的特點和眾所周知的原因,無法推流到 twitch.tv,於是我開始尋找解決方案。
明確需求
- 多路平台同時直播
- 最好對效能影響小
- 其中一路需要推流需要代理
多路推流
多路推流有現成的外掛可用:Github
在 Release 頁面下載.exe安裝包,安裝完成後記得在「停靠視窗」選單裏勾選「多路推流」。這時候預設會彈出一個獨立視窗,可以趁這個機會順便調整一下 OBS 的佈局。

外掛的設定也沒什麼好説的,用在原版 OBS 的填法在這個外掛裏如法炮製即可。
Bilibili 直播姬
莫名其妙,B 站小於 50 粉絲的 Up 主只能使用直播姬開播,其他國內平台做出類似規定者大概也不在少數,啓用第三方推流模式之後,直播面板會顯示推流的配置。此時的不需要按照直播姬給出的推流地址進行配置,因為直播姬莫名其妙的給了一個每次都會變的內網 IP,直接以127.0.0.1或者localhost替換即可。

推流到 Twitch
推流到 Twitch 則會因為 GFW 多出很多不必要的麻煩。
OBS 本身並不支援設定代理,起初我打算用 Clash 的 TAP 模式強制代理 OBS 的流量,而 Clash 的 TAP 並不監聽 rtmp 流量,宣告失敗。我決定直接架設一個轉發伺服器,這個伺服器需要既可以與 Twitch 通訊,又可以不受 GFW 的干擾。
在網上查到一些資訊,Caddy 似乎不支援 RTMP 協議,而 nginx-rtmp 外掛則專門為 RTMP 協議設計。這幾乎是唯一的選擇。
部署的前提:
- 熟悉基本的 Linux 命令列操作。
- 伺服器已經安裝好
docker和docker compose外掛。 - 有合適的命令列文字編輯器,比如
nvim或者絕大部分 distro 自帶的nano。
新建目錄:
| |
建立docker-compose.yml:
| |
建立nginx.conf:
| |
啓動編排:
| |
當然,別忘了開放防火牆埠。我的防火牆蔘考了 To Fix The Docker and UFW Security Flaw Without Disabling Iptables 一文中提到的配置,相應地,開放埠的命令如下:
| |
配置完成後,OBS 內的推流目標地址填入rtmp://伺服器ip/live,推流碼填寫任意值均可。設定完成後即可開始推流。
Netch
如果沒有伺服器,亦可以使用 Netch 代理 OBS 程序進行推流。
首先下載 Netch 1.9.2 版本,注意一定要是 1.9.2 版本。新增一個程序模式,將 OBS 資料夾加入,隨後啓用該程序模式的代理即可。

尾聲
這次為了在同時在 Twitch 和 B 站上推流,遇到了很多原本不必要的麻煩。我可以怪 OBS 沒有內建代理功能,也可以怪 Clash Verge 等代理工具不支援 RTMP,轉來轉去,最終要怪的,還得是 GFW。雖然最後的結果還算令人滿意,僅僅為了推流而折騰這些東西的體驗實在是稱不上良好。也許我今後我應該去研究修改 Mihomo 核心,讓其支援 RTMP 協議,亦或是自己寫一套獨立的實現單獨轉發 OBS 的流量,不論如何,在這片土地上,想要暢快的直播,道阻且長。
最後,歡迎關注我的 Twitch 頻道: https://www.twitch.tv/powerfullz233

評論已停用,直到您接受功能性 Cookie。