如何將WebRTC播放協議新增到EasyCVR?
自2020年瀏覽器的發展和相容性發生了變化,WebRTC的延時性、安全性得到了提升和保護,尤其是疫情爆發後,實時影片的需求比之前增長了30倍,這更刺激了WebRTC產品的持續快速發展。因此我們也在EasyGBS、EasyDSS等平臺內實現了WebRTC協議的播放。
有些EasyCVR客戶需要低延遲的雲臺方案,所以我們也在EasyCVR中添加了WebRTC的播放協議。分析該需求後,我們瞭解到只要在請求播放的時候返回WebRTC的播放地址即可實現該功能。
新增如下程式碼,根據請求的播放協議,返回對應的播放地址,當前端傳遞WebRTC的時候,後端返回webrtc://開頭的播放地址,然後在前端請求播放的時候,將影片流資料直接返回出去。
VideoCode = 0xae
ack.EasyDarwin.Body["ChannelName"] = gbschannels[0].ID
ack.EasyDarwin.Body["DeviceType"] = "GB"
ack.EasyDarwin.Body["DeviceID"] = dev
ack.EasyDarwin.Body["ChannelID"] = gbschannels[0].Index
ack.EasyDarwin.Body["RealTimeRecord"] = realtimeRecord
ack.EasyDarwin.Body["Codec"] = VideoCode
ack.EasyDarwin.Body["SnapURL"] = value.SnapURL()
//新增分析,iframe,二維碼 token,客戶可手動重新整理 更新token
shareAuth := utils.Conf().Section("base_config").Key("share_auth").MustBool(false)
if shareAuth {
if value.Token != token {
ack.EasyDarwin.Body["URL"] = ""
ack.EasyDarwin.Body["Token"] = ""
前端再次請求播放WebRTC,能夠正常播放:
「其他文章」
- EasyCVR磁碟讀寫消耗大導致播放卡頓該如何解決?
- 智慧工廠:EasyNVR如何讓工廠實現現代化與智慧化影片監控與管理?
- AI人工智慧影片技術如何運用在森林火災監測中?
- 基於WebRTC開源框架的新版EasyRTC會議錄影播放下載實現邏輯
- 如何搭建多nginx實現影片分流?
- EasyGBS如何實現Nginx代理路徑的拼接?
- EasyCVR部署在Windows系統報錯“缺少dll處理檔案”,如何解決?
- EasyGBS安防影片平臺出現記憶體異常暴漲是什麼原因?
- 影片平臺人臉識別比對控制比對時間間隔的程式碼設計
- AI煙火檢測識別演算法在影片監控場景中的預警應用分析
- 程式設計師必看:13個GitHub開源又炫酷的計算機視覺專案
- 邊緣計算下的AI安全帽識別技術如何應用在工地安全生產中?
- EasyCVR影片 AI智慧檢測技術,助力電梯監控智慧化監管
- 影片直播點播EasyDSS如何實現C語言與Go語言的資料轉換?
- EasyNVR平臺Web頁面無法開啟的排查與解決步驟
- 安防影片監控平臺如何呼叫宇視SDK實現攝像機的雲臺控制?
- EasyCVR出現通道列表為空的問題排查與解決
- GB/T28181協議影片平臺EasyGBS影片快照優化,減少伺服器效能消耗
- 如何基於EasyCVR影片能力,搭建校園安防視覺化監管平臺?
- 淺析AI車牌識別技術與影片技術的融合