Onvif/RTSP流媒體安防RTSP無插件直播方案及RTSP配置規則

LiveNVR搭建無插件直播方案時,採用行業標準的通用協議RTSP/Onvif接入攝像機IPC攝像機 / NVR硬盤錄像機設備;Onvif是攝像機的發現與控制管理協議,Onvif用到的流媒體協議也是RTSP,在攝像機NVR流媒體接入上,就是直接採用統一的RTSP協議接入;

在RTSP協議上,由於各個廠家都有不同的處理方法,比如:海康、大華、雄邁、宇視、天地偉業等廠家的RTSP地址規則有所區別。

RTSP配置規則

大華產品 rtsp://username:password@ip:port/cam/realmonitor?channel=1&subtype=0

  • username: 用戶名
  • password: 密碼
  • ip: 爲設備IP
  • port: 端口號默認爲554,默認554時可不填寫
  • channel: 通道號,起始爲1。例如通道2,則爲channel=2
  • subtype: 碼流類型,主碼流(subtype=0),輔碼流(subtype=1)

示例: rtsp://admin:[email protected]:554/camera/monitor?channel=1&subtype=1

海康-預覽取流-舊版規則(2012年之前的設備只持舊版規則) rtsp://<username>:<password>@<ipaddress>:<port>/<videotype>/ch<id>/<streamtype>/av_stream

  • username: 用戶名
  • password: 密碼
  • ipaddress: 設備IP
  • port: 端口號默認爲554,默認可不填寫
  • videotype:視頻編碼格式,如:h264、mpeg4
  • ch: 通道號,起始爲1。例如通道1,則爲ch1
  • streamtype: 碼流類型,主碼流(main),輔碼流(sub)

示例: rtsp://admin:[email protected]:554/h264/ch1/main/av_stream
示例: rtsp://admin:[email protected]:554/mpeg4/ch2/sub/av_stream

海康-預覽取流-新版規則 rtsp://<username>:<password>@<ipaddress>:<port>/Streaming/Channels/<id>(?parm1=value1&parm2=value2)

  • username: 用戶名
  • password: 密碼
  • ipaddress: 設備IP
  • port: 端口號默認爲554,默認可不填寫
  • id:通道號+0+碼流類型 碼流類型:1-主碼流、2-子碼流、3-第三碼流;如 1202 表示第12通道子碼流
  • parms 其他入參 如 transportmode=unicast (默認單播)transportmode=multicast (多播)

示例:rtsp://admin:[email protected]:554/Streaming/Channels/101

海康-回放取流 rtsp://<username>:<password>@<ipaddress>:<port>/Streaming/tracks/<id>(?parm1=value1&parm2=value2)

  • username: 用戶名
  • password: 密碼
  • ipaddress: 設備IP
  • port: 端口號默認爲554,默認可不填寫
  • id:通道號+0+碼流類型 碼流類型:1-主碼流、2-子碼流、3-第三碼流;如 1202 表示第12通道子碼流
  • parms 其他入參 如 starttime=20131013t093812z&endtime=20131013t104816z ;具體格式是YYYYMMDD”T”HHmmSS.fraction”Z”,Y是年,M是月,D是日,T是時間分格符,H是小時,M是分,S是秒,Z是可選的、表示Zulu(GMT) 時間

示例:rtsp://admin:[email protected]:554/Streaming/tracks/101?starttime=20180902t123812z&endtime=20180902t124816z

OPTIONS發送的問題

RTSP接入方面,live555和ffmpeg,是市面上兼容性最強的兩個組件,各有長短,live555結構複雜、ffmpeg整體龐大;以live555作爲攝像機RTSP接入的方案,能非常方便實現部分功能的定製,也會遇到OPTIONS發送的問題:

當採用RTP over UDP/TCP方式在取流的過程中,RTSPClient(live555)可能長時間都在從RTSPServer(IPC/NVR)取流,但缺沒有向RTSPServer發送保活報文,如果服務器端啓動了Session保活檢測機制(參看live555中RTSPServer中noteliveness實現),服務器端長時間沒有收到客戶端發送的數據包,就會認爲客戶端連接是假連接,主動斷開與客戶端的連接(不管客戶端是否正在取流);

爲了解決上述的問題,大部分的RTSPClient客戶端都會定時(例如30s)向RTSPServer發送OPTIONS(有的也有可能發送的是GET_PARAMETER)命令,類似於保活報文,這樣服務器端就能正常地發送直播數據流了;

並不是所有的RTSPServer都做的那麼好,就比如海康的某些IPC/NVR型號,當RTSPClient在拉流的過程中,突然發送OPTIONS保活報文,就像是發送了一個垃圾數據一樣,RTSPServer自動就將整條RTSP連接斷開了,導致RTP取流也隨着停止了,我們只能在這類設備中,選擇不發送OPTIONS保活包;

LiveNVR 安防RTSP無插件直播方案

LiveNVR解決了上述各種問題,是一個傳統安防互聯網化的解決方案:

  • 支持PC端/Android安卓端/iOS蘋果端/微信端無插件化觀看;
  • 支持微信掃描二維碼觀看;
  • 基於web網頁/無插件播放;
  • 支持海康/大華等市面上幾乎全部的網絡攝像機接入;
  • 實時IP Camera/NVR直播畫面實時直播監控;
  • 支持錄像及錄像回看;
  • 兼容windows和linux雙系統;
  • 私有云部署搭建自己的業務場景;

獲取更多信息

安防流媒體互聯直播-QQ交流羣:615081503

國標GB28181無插件LiveGBS-QQ交流羣:947137753

WEB:https://www.liveqing.com

Tel:189-5515-0114 (同微信)

Copyright © LiveQing.com 2016-2019

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章