先使用原生接收端,再驗證媒體
對於 SRT 貢獻訊號,請先使用原生接收端,例如 ffplay、OBS 或經測試的 VLC 版本。瀏覽器媒體元素無法原生開啟 srt:// URL;必須先接收貢獻訊號並轉為瀏覽器相容的輸出,才能在瀏覽器中播放。
SRT 工作階段成功與畫面可播放是兩個不同的結果。模式、主機、UDP 連接埠、延遲、Stream ID 與密碼片語用於建立工作階段;容器、軌道、時間戳記與編解碼器則決定接收端能否解碼。若工作是建立、保護或操作接收端點,請前往 Callaba SRT Server。本指南從接收端開始。
執行最快且實用的接收端測試
ffplay 是在已安裝的 FFmpeg 建置包含 SRT 時進行直接檢查的最短途徑。 OBS Media Source 在設定其 SRT 輸入詳細資料後,可為操作人員提供圖形預覽。 VLC 若已安裝的確切版本支援所需 SRT 模式,則可用於本機觀看;請確認該版本並測試已協議的端點。這些選項都無法讓未知的酬載變得可解碼。
1. 針對已協議的端點嘗試使用 ffplay
對於呼叫已知監聽端點的接收端,請將佔位符替換為您獲准使用的端點:
ffplay "srt://LISTENER_HOST:PORT?mode=caller"
對於等待 Caller 的接收端:
ffplay "srt://0.0.0.0:PORT?mode=listener"
接著在 OBS 或其他原生接收端中,使用相同的主機、連接埠、模式、Stream ID、密碼片語與延遲策略。 FFmpeg 說明文件列出 SRT URL 選項;OBS 記錄了其 SRT 輸入工作流程。請勿將密碼片語貼入工單、聊天訊息或您無法控制的 Shell 歷史記錄。
2. 先比對 Caller 與 Listener,再變更播放器設定
常見安排很簡單:Listener 在 UDP 連接埠等待,Caller 連線到它可達的位址。寫下雙方角色,從發送端網路驗證主機和連接埠,然後啟動播放器。兩個 Listener 只會等待;指向不可達位址的 Caller 無法透過編碼設定修複。Rendezvous 是雙方端點都必須支援的獨立設定。
啟用加密時,兩端必須使用相同的密碼片語和相容的金鑰設定。服務若使用 Stream ID 選擇流,請保留其語法和跳脫。請將兩者視作連線資料:不要把金鑰放入截圖和報告,並將遭拒絕工作階段與可用端點日誌進行比較。
3. 探測已連線但無法播放的串流
SRT 傳輸資料包,並不保證視訊編碼、音訊編碼或封裝格式。MPEG-TS 常用於貢獻傳輸,但仍需要有效的節目資訊、時間戳記和所選播放器能解碼的流。在再次修改延遲之前,先探測同一端點:
ffprobe -v error -show_format -show_streams "srt://LISTENER_HOST:PORT?mode=caller"
檢視封裝格式、視訊和音訊編碼、Profile、音軌和時間戳記。將這些事實與播放器已記錄的支援範圍比較。
即時 SRT 播放器示範
測試 SRT 播放器連線
建立一條持續一小時的暫時連線。以 Caller 模式將 SRT 流發送到發布者位址, 將 Stream ID 留空。 發布者連線後,可在下方 Multiview 中觀看,或以 Caller 模式將原生播放器連線到接收端位址。
為復原設定延遲,而不是為了外觀
SRT 延遲為晚到資料包和重傳提供到達時間。它不是完整端到端延遲;編碼、解碼器緩衝、封裝和觀众緩衝各自都會增加延遲。應從實測路徑開始,在觀看遺失封包、重傳、捨棄和解碼連續性的同時比較乾淨及受損條件。
在 FFmpeg 格式的 SRT URL 中,latency=200000 表示 200 ms,因為值以微秒為單位。這僅是範例。請記錄兩端的實際值,並按真實貢獻路徑調校。
有位元率但畫面仍黑時
| 您看到的情況 | 下一步檢查 |
|---|---|
| 沒有連線 | 角色、可達主機、UDP 連接埠、防火牆和存取資料。 |
| 已連線,沒有影像或音訊 | 執行探測;檢查節目資訊、編碼、音軌和時間戳記。 |
| 遺失封包時影像破碎 | 調整播放器前,比較路徑測量值和復原延遲。 |
這種分開可避免把負載問題變成沒完沒了的連線參數更改。
審慎選擇觀看交接方式
直接檢查貢獻訊號時使用原生 SRT。若需讓操作人員共用觀看,請接收訊號並使用 Multiview 驗證畫面、音訊電平、串流資訊與連線事件。若要透過瀏覽器交付,請使用 Web Player.發布並測試瀏覽器相容的輸出。入口看似正常的路由,不能取代對最終觀看介面的檢查。
當接收端測試成為操作路徑時, SRT 監控預設集 是四個傳入 SRT 來源與四個 Multiview 格位的起始設定。若製作路徑還需要錄製、處理與 AV Mixer 工作流程,請檢閱 SRT 製作預設集 ,再設定確切的來源與輸出。
保留簡短且可複現的接收端檢查
- 記錄端點角色、主機、連接埠、延遲、Stream ID 策略和加密狀態。
- 確認真實發送端網路能夠到達接收端。
- 在乾淨時段及活動關心的受損條件下檢查傳輸。
- 在預定播放器上確認已解碼影像和節目音訊。
- 在計畫測試中重啟一端,並再次檢查最終操作員或觀众介面。
有關協議細節,請參見 SRT live-transmit 文件和 Callaba SRT 協議指南。
SRT Player 常見問題
瀏覽器可以直接播放 SRT URL 嗎?
不能透過標准 HTML 媒體元素播放。請先接收 SRT,再發布瀏覽器相容輸出。
為什麼 SRT 連線顯示位元率卻沒有視訊?
工作階段可能正常,而播放器無法解碼封裝格式、音軌、時間戳記或編碼 Profile。
播放器應使用 Caller 還是 Listener 模式?
使用與協定對端及其網路可達性相符的角色。
增加 SRT 延遲總能修複遺失封包嗎?
不能。它會給重傳更多時間,但無法開啟被阻斷的 UDP、修複持續容量不足或解碼不支援的負載。