自架 SRTLA 接收端

LOLS IRL 講的是標準、相容 BELABOX 的 srtla,所以你自己的接收端,行為跟我們代管的中繼完全一樣。這裡說明該跑什麼、哪些連接埠重要,以及會讓行動網路連線永遠連不到你機器的那個錯誤。

你不用自己架任何東西:免費的 LOLS Cloud 中繼就是為了讓聚合開箱即用而存在,或者你也可以自架接收端,誰都不用依賴。大家選擇自己架,都有好理由。你想讓直播落在自己掌控的基礎設施上,你想要一台離你實體很近、而我們附近沒有中繼的機器,你不想有額度要顧慮,或是你就是喜歡自己跑東西。App 裡沒有任何東西綁死在我們的伺服器上,所以換過去只要改主機名稱,其他都不用動。

你要架的是什麼

手機 (wifi + 行動網路)
   |
   |  srtla,UDP,每個網路各一個 socket
   v
srtla_rec          監聽公開的 UDP 連接埠,把各條連線重組
   |
   |  一般 SRT,UDP,在 localhost 上
   v
媒體伺服器          MediaMTX 或同類軟體
   |
   +--> OBS,或再轉推到 Twitch / Kick / YouTube

兩個元件,各司其職。srtla_rec 來自 BELABOX 專案,是看得懂聚合的那一塊:你手機開的每一條連線,都會作為同一組的一員向它註冊,它再把這一組還原成單一條普通的 SRT 串流。接著它把串流轉送給 SRT 監聽端,由媒體伺服器接手。MediaMTX 是常見的選擇,可以把串流交給 OBS、重新發布或錄下來,但任何接受 SRT 的東西都行。

架在哪裡

接收端必須從你手機直播所走的每個網路都連得到,實際上就是需要公開位址。一台小型 VPS 就夠了:這是封包轉送,不是轉碼,所以頻寬和普通的 CPU 比核心數重要得多。把它放在離你直播地點近的地方,原因跟挑最近的中繼一樣:距離就是補不回來的延遲,而且每次重送都要再付一次。

幾乎每個人都會踩到的錯誤

家裡區域網路上的接收端,位址像 192.168.1.50 這樣的,只有你的 Wi-Fi 連得到,其他地方都不行。你的行動網路連線沒辦法路由到私有位址,所以它永遠註冊不了,你沒有聚合,只是在多繞幾步的 Wi-Fi 上直播,而統計畫面只會顯示一條連線,不是兩條。

要嘛架在有公開位址的機器上,要嘛在路由器上把 UDP 連接埠轉送到你區域網路裡那台機器,並讓 App 指向路由器的公開位址。用動態 DNS 名稱,就不用每次位址變了都要重打。

連接埠

連接埠用途
UDP,你的 srtla 連接埠,從網際網路進來手機唯一會碰到的連接埠。慣例是 5000。每條聚合的連線都從自己的來源位址和連接埠進來,所以不需要為每條連線另外開放或設定任何東西。
UDP,你的 SRT 監聽端,本機srtla_rec 轉送重組後串流的地方。MediaMTX 預設在 8890 監聽 SRT。除非你也想讓一般 SRT 用戶端推流進來,否則這個不需要對網際網路開放。
你的媒體伺服器提供什麼就是什麼RTMP、RTSP、HLS 或 WebRTC 輸出到 OBS 或觀眾,完全由你決定,不屬於聚合的路徑。

UDP 不是 TCP

防火牆、雲端安全群組和路由器轉送規則,預設常常是 TCP。送往只有 TCP 的規則的 srtla 註冊,會在毫無錯誤訊息的情況下消失,看起來跟接收端掛了一模一樣。如果某條連線註冊不了,先檢查規則的通訊協定,再查別的。

Stream id

srtla_rec 會把 SRT stream id 原封不動轉過去,所以 App 的 Stream id 欄位要填什麼,取決於後面那台伺服器要什麼。MediaMTX 的話是推流格式:一個路徑,開了驗證的話再加上帳密:

publish:mypath
publish:mypath:username:password

如果連接埠對網際網路開放,就把驗證打開。公開位址上沒有驗證的推流端點,遲早會被不是你的人發現。

讓 App 指向它

  1. 在 LOLS IRL 裡:Streams → + → SRTLA。
  2. Host:你的公開主機名稱。Port:srtla_rec 監聽的 UDP 連接埠。
  3. Stream id:你的媒體伺服器要的推流字串。
  4. Latency:一開始用 2000 ms。開播後 App 會顯示它量到的往返時間並建議一個數字,離得近的機器,通常會比預設值低。
  5. 儲存、啟用、開播,再展開統計疊圖。每條連線一列。兩列代表兩個網路都註冊成功。

確認它真的有用

事先知道比較好的事

卡在某一步,或是想請人幫忙看一台不肯接受第二條連線的接收端?到 Discord 問,或寄信到 support@lols.gg。附上你所在的地區、統計疊圖顯示的內容和接收端的紀錄,通常來回兩則訊息就能解決。

相關:五分鐘上手聚合講 App 端以及怎麼看指示,如果不想自己架,看使用免費中繼,另外還有所有指南。