ONVIF ? 什么是ONVIF ?現在就告訴您

1、ONVIF是什么呢?
ONVIF的形成:ONVIF原意為開放型網絡視頻接口論壇,即Open Network Video Interface Forum;是安訊士、博世、索尼等多家公司在2008年共同成立的一個國際性開放型網絡視頻產品標準網絡接口的開發論壇,后來由這個技術開發論壇共同制定的開放性行業標準,習慣性簡稱為ONVIF協議。
ONVIF協議:ONVIF規范包括像網絡配置,查找設備,設備管理,PTZ攝像機控制,和視頻分析等。這些規格都被寫入到ONVIF配置文件(ONVIF Profiles)。 其中Profile C專門為網絡門禁控制系統的協議標準, Profile G用于視頻存儲、搜索和重放管理;而Profile S應用于網絡視頻監控系統。
ONVIF的作用:ONVIF標準將為網絡視頻設備之間的信息交換定義通用協議,包括裝置搜尋、實時視頻、音頻、元數據和控制信息等。解決了不同廠商之間開發的各類設備不能接入使用的難題,即最終能夠通過ONVIF這個標準化的平臺實現不同產品之間的集成。
ONVIF的實現機制:ONVIF協議中規定,服務端和客戶端之間采用soap協議進行交互,而視頻流的傳輸與控制采用rtsp協議。
----- 服務端常見的就是IPC端,而客戶端多為NVR后端/PC客戶端。

2、安佳威視對接的ONVIF協議
版本規則說明:自從2016年開始,ONVIF版本命名方式從原來的主版本號.副版本號更改為發行版本年份后兩位.發行版本月份。我司ONVIF當前版本為Version 17.06。
已經支持信令集:我司對接的ONVIF協議,支持Profile S配置,在協議的兼容方面良好,支持并拓展了許多信令集。
以下是已支持信令集:
信令集 | 描述 |
Discovery | 設備搜索 |
Device Service | 查詢設備功能 |
Media Service | 音視頻編碼配置功能,獲取實時流配置功能 |
Media2 Service | 是對Media Service的拓展,支持了h265的配置 |
PTZ Service | 云臺控制功能 |
Device IO Service | IO控制功能 |
Imaging Service | 圖像配置功能 |
Analytics Service | 智能分析功能,目前僅支持移動偵測 |
Event Service | 事件上報和查詢功能,支持IO報警,移動偵測報警 |
常見廠家的ONVIF協議的信令差異:ONVIF協議只是個系統性的框架,對各種功能的代碼實現細節沒有做詳細的規定,再加上每個廠商對這個框架也沒有嚴格的去執行,從而造成設備間不能很好的兼容。
以下是常見廠家的ONVIF協議的信令差異
信令 | 處理 |
對接大華NVR,__trt2__GetVideoEncoderConfigurations接口 | 該接口響應的時候,只能返回對應Token(碼流)的配置,不可同時返回子主碼流的配置。 |
對接天視通NVR需要屏蔽掉__trt2__DeleteOSD/__trt__DeleteOSD接口 | 需要屏蔽掉該接口,否則修改通道名稱時候,會請求__trt2__DeleteOSD/__trt__DeleteOSD,將OSD關閉。 |
對接天視通NVR,__tptz__GetPresets接口 | 注意返回的tptz__GetPresetsResponse-> Preset成員不能為NULL,否則導致NVR端重啟。 |
對接天視通NVR,__trt__GetOSDs接口 | 注意返回的trt__GetOSDsResponse->OSD的成員: token, VideoSourceConfigurationToken, Type, Position, TextString不能為NULL,否則導致NVR端重啟。 |
對接天視通NVR,GetOSDOptions接口 | 如果設備支持的PositionOption有”custom”,在設置osd位置,會導致設置位置不準確的問題。 |
對接TP-Link_NVR,__trt__SetVideoEncoderConfiguration接口 | 在判斷trt__SetVideoEncoderConfiguration->Configuration->H264為NULL時,不要返回錯誤碼,否則不能正常設置編碼。 |
對接海康NVR,部分分辨率是不支持的,需要做轉換 | 2592X1520 à 2688X1520 2592X1512 à 2688X2520 2048X1520 à 2048X1536 |
對接海康NVR,上報移動偵測報警 | 除了上報移動偵測報警事件,需要同時在上報一條Status事件。 |
對接漢邦NVR,關于隱私遮擋的配置接口 | 使用的漢邦拓展接口,而非標準的ONVIF接口。 |
3、ONVIF的測試工具
常見的ONVIF測試工具主要有以下這兩款:

ONVIF Device Manager

ONVIF Device Test Tool
ONVIF Device Manager已經很久沒更新了,使用的ONVIF接口是較久之前,所以ONVIF Device Manager只做簡單地ONVIF測試。更加專業的,一般是使用ONVIF Device Test Tool工具。
3.1、如何搜索并檢查設備?
下接選擇要用以收發探測數據包的網卡。
點擊“Discover Devices”按鈕檢測局域網中的攝像頭。
檢測完成后左下方就會呈現攝像頭列表,雙擊要檢測的攝像頭,其信息就會自動填到右上方的相應內容框中。
點擊“Probe”探測選中主機是否真的支持ONVIF協議,如果沒有彈框報錯那就是支持的。
在username和password域中填入web管理員的用戶名密碼,然后點擊右方的“check”檢測用戶名密碼是否有誤。

3.2、測試ONVIF信令
將上面Discovery選項卡中,Device Service Address框的值復制到Debug選項卡的“Service Address”框中
在左下方“Templates”中雙擊選擇要進行檢測的請求
在左上方“Authentication”中選擇權限驗證方式(None為不發送用戶名密碼,WS-Username token是ONVIF標準的用戶名密碼驗證方式,Digest是RTSP中的Digest形式,用戶名密碼就是從Discovery那里讀過來的)
點擊“Send Request”發送數據包,如果沒有問題在“Response”框中就會呈現返回結果

更多詳情請關注我們“安佳威視”公眾號!
更多內容敬請期待!


—如果喜歡,快分享給你的朋友們吧—
想要獲得更多信息 請關注