RTSP 串流協議是什麼?
RTSP(Real-Time Streaming Protocol,即時串流協議)是一種應用層網絡協議,用作控制串流媒體伺服器的播放,是 IP 攝影機對外提供影像串流的常用方式。本頁講解 RTSP 的工作原理、指令流程、網址格式,以及怎樣用 VLC 等第三方軟件直接觀看 IP Cam 畫面。
RTSP 的定義:串流世界的「遙控器」
RTSP 是為控制多媒體串流傳輸而設計的應用層網絡協議,於 1998 年 4 月推出,1.0 版本以 RFC 2326 發布;2016 年發布的 RTSP 2.0(RFC 7826)是 1.0 的取代版本,但除基本版本協商機制外並不向後兼容。現時閉路電視行業普遍仍以 RTSP 1.0 為主。
理解 RTSP 最直觀的比喻是「遙控器」:它負責向串流伺服器(例如 IP 攝影機)發出建立會話、開始播放、暫停、結束等指令,並提供選擇數據傳輸通道(UDP、多播 UDP、TCP)的機制;實際的影音數據則多數交由 RTP 等傳輸機制經另一條通道送遞。RTSP 的常用埠為 554(TCP 及 UDP 均有登記)。在閉路電視系統中,錄影主機正是以這類串流方式從攝影機取得畫面,詳見NVR 是什麼一頁。
RTSP 主要指令與會話流程
RTSP 的指令設計與 HTTP 相似,播放端與伺服器之間以請求—回應方式溝通。一次典型的取流會話大致經過以下步驟:
- OPTIONS——播放端查詢伺服器支援哪些指令。
- DESCRIBE——取得串流的媒體描述資訊,例如包含哪些視像、音訊軌道。
- SETUP——建立會話並協商數據傳輸方式(UDP、多播 UDP 或 TCP)。
- PLAY——指示伺服器開始傳送影音數據,畫面正式出現。
- PAUSE / TEARDOWN——PAUSE 暫停傳送;TEARDOWN 結束會話並釋放資源。
協議另有 RECORD、ANNOUNCE、GET_PARAMETER、SET_PARAMETER 等指令,日常取流以上述五個最為常用。
如何用第三方軟件觀看 IP Cam?
由於 RTSP 是開放協議,只要取得攝影機的 RTSP 網址,便可以用支援 RTSP 的第三方軟件直接觀看畫面,無需依賴原廠應用程式。以開源播放器 VLC 為例:
- 查出攝影機的 RTSP 網址——格式一般為 rtsp://帳號:密碼@攝影機IP:554/串流路徑;串流路徑各廠商不同,可在攝影機說明書或網頁設定介面查到。
- 開啟 VLC 的網絡串流功能——選擇「媒體」→「開啟網絡串流」。
- 輸入 RTSP 網址並播放——確認網絡可以連通攝影機(同一內網或已設定轉發),按播放即可看到即時畫面。
除 VLC 之外,LIVE555 openRTSP、mplayer 等開源工具同樣支援 RTSP 取流。這正是 IP Cam 生態開放的體現:畫面不會被鎖死在單一品牌的軟件之內。要留意 RTSP 網址包含登入密碼,切勿把網址外傳或發布到互聯網。
RTSP 與相關協議比較
串流系統中常見多個名字相近的協議,各司其職,以下比較有助理清概念:
| 比較項目 | RTSP | RTP | HTTP |
| 角色 | 串流控制協議(播放、暫停、結束) | 影音數據的實際傳輸 | 網頁及檔案傳輸 |
| 傳輸內容 | 控制指令與回應 | 經編碼的影音數據包 | 網頁、圖片、檔案等 |
| 常用埠 | 554(TCP/UDP) | 會話協商時動態分配 | 80 / 443 |
| 在 IP Cam 系統的用途 | 建立及控制取流會話 | 把攝影機畫面送到播放端 | 攝影機網頁設定介面 |
簡單而言:播放端以 RTSP 發號施令,影像數據經 RTP 送達,兩者配合構成完整的取流過程。