長話短說,最近我開始直播我的遊戲實況,我並不指望有多少人看,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。