IRL 直播老是斷線?訊號不好也能持續直播的方法
2026年10月09日 · 閱讀時間 2 分鐘
目錄
如果 IRL 直播老是斷線,可靠的做法是別再把畫面直接送到平台。先送到伺服器,由 OBS 從那裡串流到 Twitch、YouTube 或其他平台,再用自動場景切換,在手機離線時顯示備用場景。
行動網路永遠無法完全預測,斷線遲早會發生。本文說明斷線對直接串流有什麼影響,以及哪些做法能讓你持續直播。
IRL 直播斷線時會發生什麼事
從手機或編碼器直接串流到平台時,這一條連線就是整場直播。連線一斷,平台就收不到影像。觀眾會看到畫面卡住或頻道離線,直播也跟著結束。訊號恢復後,你得重新開播,中途離開的觀眾得自己再找回來。平台上的錄影也會被拆成好幾段。
平台會給一點容錯空間。例如 Twitch 有一項叫Disconnect Protection的功能。你重新連線的期間,最多 90 秒會向觀眾顯示一則提示,並讓錄下來的 VOD 保持連續。如果 90 秒內沒有重新連線,直播就會照常結束。Twitch 列出的支援編碼器有 OBS Studio、Streamlabs OBS、XSplit、Twitch Studio 和它的行動 App,並建議你用自己的設定快速測試一下。
這對短暫的卡頓有幫助。在隧道或訊號死角,90 秒很快就過去了,其他平台的表現也可能不同。
IRL 直播為什麼會斷線
大部分斷線來自以下幾個原因:
- 訊號死角:隧道、地下道、厚牆、地下室和偏遠路段,訊號很弱或根本沒有。
- 基地台切換:開車、搭火車或騎車移動時,手機會在不同基地台之間切換,可能造成短暫中斷或延遲飆高。
- 活動現場基地台超載:人群中很多手機共用同一座基地台。訊號格數看起來正常,但分給你直播的上傳頻寬卻變少了。
- 位元率太高:直播位元率必須低於你實際拿到的上傳速度,並留出餘裕。行動網路的上傳速度會波動,在沙發上沒問題的位元率,到了街上可能撐不住。
- 電量與發熱:手機在太陽下編碼影片會發燙、變慢。電量耗盡則會讓直播毫無預警地結束。
傳送端可以做什麼
降低位元率並讓它自動調整
選一個邊走邊能穩住的位元率,而不是手機允許的最大值。對觀眾來說,穩定的 720p 畫面比卡頓的 1080p 更好。很多 IRL 應用程式還提供自適應位元率,網路變差時會自動降低位元率。例如免費的 iOS App Moblin就列出了對 SRT(LA)、RIST 和 RTMP 的自適應位元率支援。
聚合多條連線
聚合是把多條連線(例如不同電信業者的 SIM 卡)合併成一路串流。SRTLA 就是為此設計的開放協定:根據它的GitHub 專案,它是具備鏈路聚合功能的 SRT 傳輸代理,用於聚合行動數據機。聚合在多條連線不會同時斷線時最有用。如果它們都在同一個訊號死角,聚合也幫不上忙。
使用能容忍封包遺失的協定
SRT(Secure Reliable Transport)是為不穩定的網路設計的。它的專案頁面介紹了透過重傳請求從封包遺失中恢復,並適應不斷變化的網路狀況。它能改善劣質網路下的品質,但無法憑空變出頻寬。為了穩定,建議在編碼器裡把關鍵影格間隔設為 2 秒,SRT 延遲也設為 2 秒(依硬體或軟體不同,填寫為 2000 毫秒或 2000000 微秒)。也可以設得更低,但 2 秒更有利於穩定。
| 做法 | 針對的問題 | 限制 |
|---|---|---|
| 降低位元率或自適應位元率 | 壅塞、訊號弱 | 完全斷網時無濟於事 |
| 聚合(SRTLA) | 單一鏈路弱、基地台切換 | 所有鏈路在同一個死角時無濟於事 |
| 用 SRT 取代一般 RTMP | 封包遺失、抖動 | 無法憑空變出頻寬 |
| 中間加伺服器和 OBS | 完全斷線、VOD 被拆開 | 需要伺服器和 OBS |
前三項能減少訊號中斷的次數。最後一項決定訊號還是斷了的時候,觀眾會看到什麼。
缺少的一環:手機與平台之間的伺服器和 OBS
與其讓手機到平台只靠一條脆弱的連線,不如把路徑拆成兩段。手機把畫面送到伺服器。OBS 從伺服器取得畫面,再透過穩定的連線送到平台。手機訊號一丟,平台這一段不受影響,因為 OBS 一直在串流。觀眾會繼續看著 OBS 當下顯示的場景。
有兩種運作方式:
- 用IRL 端點伺服器,OBS 跑在你自己的電腦上,例如家裡的電腦。編碼器和 OBS 都是主動向外連線到伺服器,所以你不需要開放連接埠,也不用改路由器設定。
- 用IRL 直播伺服器,完整的 OBS Studio 在雲端執行,家裡不需要高效能電腦。你透過客戶中心用遠端桌面連線,還可以用網頁版控制面板管理直播,用手機瀏覽器也行。
兩者都支援 RTMP、SRT 和 SRTLA 輸入,最高支援 1080p 60 fps 的直播。
自動場景切換的運作原理
伺服器能保住平台上的直播,但不會告訴觀眾發生了什麼事。輸入的影像消失後,除非有東西切換場景,否則 OBS 會顯示靜止的畫面或黑畫面。這正是自動場景切換要做的事。
自動場景切換使用 OBS 裡的三個場景。在我們的伺服器上,它們叫 Start、Live 和 Low:
- Start:一張靜態圖片,也可以配上音樂,在伺服器收不到訊號時顯示。
- Live:正常場景,包含鏡頭畫面和疊加圖層,裡面有接收輸入串流的來源。
- Low:位元率低於門檻時顯示,例如同一路畫面加上「連線不佳」之類的提示。
一個小工具在伺服器上監測輸入串流的位元率。位元率低於門檻,它就把 OBS 切到 Low。完全收不到訊號時,切到 Start。串流恢復穩定後,再切回 Live。
自行架設時的開源範例:NOALBS
如果你想自己架設,這類工具裡最知名的開源專案是NOALBS(MIT 授權)。它是獨立的專案:下文介紹的我們伺服器上的工具是自行開發的,與 NOALBS 不相容。根據 NOALBS 的文件,它是適用於 Windows、macOS 和 Linux 的單一執行檔,依據從串流接收伺服器統計資料中讀到的位元率來切換 OBS 場景。它同時處理低位元率和完全斷線兩種情況,支援 Nginx、Node-Media-Server、SRT Live Server、BELABOX cloud 和 MediaMTX 等多種串流接收伺服器,並透過 OBS WebSocket 5 與 OBS 溝通。
它的範例設定裡最重要的設定項如下:
| 設定 | 意義 |
|---|---|
| switchingScenes | 你在 OBS 中的正常場景、低位元率場景和離線場景的名稱 |
| triggers.low / triggers.offline | 切換到 low 場景和 offline 場景的位元率門檻,單位 kbps |
| triggers.rtt / rttOffline | 針對 SRT 的選用延遲門檻,單位毫秒 |
| retryAttempts | 切換前連續檢查的次數。NOALBS 每秒檢查一次,所以 5 大約是 5 秒 |
| instantlySwitchOnRecover | 位元率恢復時略過等待時間 |
| offlineTimeout | 選用:在離線場景停留設定的分鐘數後,停止 OBS 的串流 |
NOALBS 還為 Twitch 提供選用的聊天指令,你或管理員可以在聊天室切換場景或調整 low 門檻。它只會在 OBS 停留在它設定中的某個場景時才切換,所以片頭之類的場景不會被蓋掉。
我們的 IRL 伺服器包含什麼
我們的兩款 IRL 伺服器都包含自動場景切換,你不必自己架設這套環境。它是我們自行開發的,不是 NOALBS,使用上面介紹的三個場景:伺服器收不到訊號時是 Start,串流穩定時是 Live,位元率低於門檻時是 Low。實際運作方式因伺服器而異:
- IRL 端點伺服器:你在客戶中心產生並下載這個工具。它在你自己的電腦(Windows 或 macOS)上與 OBS Studio 並行執行,需要 OBS 28 起內建的 OBS WebSocket 功能。啟用該功能,依附帶說明把工具連接到 OBS Studio,開播前啟動它。出現連線問題時它會切換場景,連線重新穩定後再切回 Live。它只能與 OBS Studio 搭配使用,不支援 vMix 或 Streamlabs OBS。
- IRL 直播伺服器:場景切換直接在伺服器上執行,場景已預先設定好。雲端伺服器還額外有 Break、End 和 Refresh 場景。在網頁控制面板裡,你可以手動切到 Break 或 End,自動切換會暫停,直到你切回 Live。
如果你在結帳時提供了 Twitch 頻道,兩款伺服器還提供選用的 Twitch 聊天機器人。它會在聊天室預告自動場景切換。觀眾可以用 !bitrate 查詢目前的輸入位元率,管理員可以用 !refresh 短暫重新載入直播串流。你和管理員還可以透過聊天指令啟動、停止、更新或切換場景。
位元率顯示以瀏覽器來源的形式提供,你可以把目前的輸入位元率當作疊加圖層顯示在 OBS 裡。
場景切換能讓觀眾在你斷線期間了解狀況,但它不會讓訊號恢復,所以前面這些做法依然重要。
如何選擇門檻
沒有通用的數值,因為合適的門檻取決於你的硬體和行動網路。我們 IRL 伺服器上的場景切換預設在位元率低於 800 kbps 時從 Live 切到 Low。這個值可以修改,例如用 Twitch 聊天指令 !trigger 500。作為對照,NOALBS 文件的範例設定裡,low 是 500 kbps,offline 是 450 kbps。
要找出自己的數值,可以在網路差的地方走一圈測試。記下畫面開始卡頓時的位元率,把門檻設在比它略高的位置。走的過程中也要確認場景不會在 Live 和 Low 之間來回跳。
開播前檢查清單
- 在你要直播的時段,沿著路線或在場館裡走一圈測試,使用你打算用的位元率。
- 把位元率設在持續上傳速度以下並留出餘裕,如果應用程式支援,就開啟自適應位元率。
- 應用程式支援的話,用 SRT 或 SRTLA 取代一般 RTMP。
- 在編碼器裡把關鍵影格間隔設為 2 秒,SRT 延遲也設為 2 秒。
- 條件允許的話,用兩家不同電信業者的 SIM 卡或聚合裝置,並選擇離你直播地點最近的伺服器位置。
- 在 OBS 裡建立 Start、Live 和 Low 場景,並嚴格照這個名稱命名。如果你用的是其他工具,就讓名稱與它的設定一致。
- 如果 OBS 跑在家裡的電腦上,確認那條網路既能承受傳入的直播串流(下載),也能承受送往平台的直播串流(上傳)。
- 測試整條鏈路:關閉行動數據或開啟飛航模式 30 秒,觀察場景是否切換、之後是否切回。
- 滿電出發,帶上行動電源,讓手機保持通風,並確認省電模式不會干擾你的直播應用程式。
- 開啟 Twitch Disconnect Protection 這類平台保護功能作為額外保障,並向管理員說明聊天指令。
如果想先了解如何選擇硬體、應用程式和設定,我們的IRL 直播指南有更詳細的介紹。
FAQ
我的 IRL 直播為什麼老是斷線?
常見原因有:訊號弱或沒有訊號、移動時的基地台切換、活動現場基地台超載、位元率高於你的實際上傳速度,以及手機過熱或沒電。用你計畫的設定走一圈測試,就能看出是哪一種。
平台的斷線保護能持續多久?
在 Twitch 上,Disconnect Protection 會顯示提示並讓你的直播保持在線,最長 90 秒。如果到時還沒重新連線,直播就會結束。中間加了 OBS 的伺服器方案沒有這個限制,因為平台會持續收到來自 OBS 的不間斷直播串流。
用了伺服器,還需要聚合嗎?
它們解決的是不同的問題。聚合讓手機到伺服器的連線更可靠。伺服器加 OBS 則確保,即使這條連線還是斷了,平台上的直播也能撐住。兩者搭配,保護最完整。
位元率降到多少該切換到 Low 場景?
這取決於你的硬體和行動網路。我們 IRL 伺服器上的預設值是 800 kbps,可以修改,例如用 Twitch 聊天指令 !trigger 500。這個數值要靠走一圈測試來決定,不要照抄別人的數字:把門檻設在比畫面明顯開始卡頓的位元率略高的位置。
自動場景切換適用於任何直播軟體嗎?
我們 IRL 端點伺服器的場景切換工具只能與 Windows 或 macOS 上的 OBS Studio 搭配使用,不支援 vMix 或 Streamlabs OBS。NOALBS 是另一個獨立的開源工具,同樣透過 OBS WebSocket 5 搭配 OBS Studio 運作。vMix 等其他軟體仍可以用來接收直播串流,但沒有自動切換。