SVMSPro平臺獲取Websocket視頻流規則
Websocket 的服務端口為:53372,如需要公網訪問需要開啟這個端口
這里講的是如何獲取長效URL,短效(時效性)URL也支持,下回講
一、如何獲取Websocket實時流視頻
ws://host:port/ws/live/ch{$deviceid}_{$channel}_{$stream}.flv
參數說明:
Host: 服務器IP
**Port:**ws端口,默認53372
deviceid 在SVMSPro平臺中設備的ID(可在客戶端或者網頁查看ID得到)
channel 通道號(可在客戶端上通過查看ID得到)
stream 碼流類型,0–主碼流,1–子碼流
例子:
ws://192.168.0.123:53372/ws/live/ch601_0_1.flv
視頻效果
二、如何獲取Websocket回放(錄像)流視頻
ws://host:port/ws/vod/ch{$deviceid}_{$channel}_{$begintime}_{$endtime}_{$center}.flv
參數說明:
deviceid 在SVMSPro中設備的數據庫ID(可在客戶端上通過查看ID得到)
channel 通道號(可在客戶端上通過查看ID得到)
begintime 錄像開始時間,格式為yyyymmddhhmmss,如20210301080000
endtime 錄像結束時間,格式為yyyymmddhhmmss,如20210301080500
center 錄像類型,0–設備端錄像,1–中心錄像
例子:
設備端回放:
Ws://192.168.0.123:53372/ws/vod/ch1_0_20250404090000_20250404091000_0.flv
中心端錄像
Ws://192.168.0.123:53372/ws/vod/ch1_0_20250404090000_20250404091000_1.flv
Websocket 流的優勢如下:
實時性:
低延遲:WebSocket提供的是全雙工通信,這意味著服務器和客戶端可以同時發送和接收數據,這對于實時視頻流來說非常關鍵。視頻流通常要求低延遲,而WebSocket的低延遲特性使其非常適合用于實時視頻傳輸。
雙向通信:
交互性:WebSocket支持服務器主動向客戶端推送數據,這在視頻流中非常有用,例如實時聊天、彈幕、或者服務器的狀態更新等。
協議效率:
減少開銷:與HTTP相比,WebSocket在建立連接后只需要一個握手過程,之后的通信可以直接通過同一個TCP連接進行,減少了多次HTTP請求的開銷。這對于視頻流來說,可以減少因頻繁的HTTP請求而引起的延遲。
數據幀管理:
靈活的數據傳輸:WebSocket允許發送二進制數據,這對于視頻流來說是非常重要的,因為視頻數據通常是二進制格式。這使得WebSocket能夠高效地傳輸視頻幀,而不必像HTTP那樣先將視頻轉換為文本格式。
兼容性和擴展性:
易于集成:WebSocket協議已經得到了廣泛的支持,幾乎所有現代瀏覽器都支持WebSocket。此外,通過使用WebSocket,開發者可以更容易地集成視頻流功能到他們的應用中。
安全性:
加密傳輸:WebSocket可以通過WebSocket Secure (WSS) 協議進行加密傳輸,這提供了數據傳輸的安全性,保護視頻流不被未授權訪問。
狀態保持:
持續連接:一旦建立了WebSocket連接,客戶端和服務器之間的連接將保持開啟狀態,直到一方顯式關閉連接。這有利于維持視頻流的連續性,無需每次播放都重新建立連接。
應用層協議:
靈活性:開發者可以在應用層定義自己的協議來控制數據傳輸,例如可以定義如何分割視頻幀、如何控制播放速度等,這提供了很高的靈活性。