7180-Qt C++攝像機搜索和云臺控制工具源碼 onvif協(xié)議預(yù)置位 OSD管理
### 一、功能特點
1.廣播搜索設(shè)備,支持IPC和NVR,依次返回。
2.可選擇不同的網(wǎng)卡IP進行對應(yīng)網(wǎng)段設(shè)備的搜索。
3.依次獲取Onvif地址、Media地址、Profile文件、Rtsp地址。
4.可對指定的Profile獲取視頻流Rtsp地址,比如主碼流地址、子碼流地址。
5.可對每個設(shè)備設(shè)置Onvif用戶信息,用于認證獲取詳細信息。
6.可實時預(yù)覽攝像機圖像。
7.支持云臺控制,可上下左右調(diào)節(jié)云臺,支持絕對移動、相對移動、連續(xù)移動三種方式,可對圖像拉近拉遠。
8. 支持獲取預(yù)置位集合、調(diào)用預(yù)置位、添加預(yù)置位、刪除預(yù)置位等。
9.支持圖片參數(shù)設(shè)置,包括亮度、對比度、飽和度、銳度等。
10.支持Qt4和Qt6任意Qt版本以及后續(xù)Qt版本,親測Qt4.7.0到Qt6.2。
11.支持任意編譯器,親測mingw、msvc、gcc、clang。12.支持任意操作系統(tǒng),親測xp、win7、win10、android、linux、嵌入式linux、樹莓派全志H3等13.支持任意Onvf攝像機和NVR,親測海康、大華、宇視、天地偉業(yè)、華為、海思芯片內(nèi)核等,可定制開
收。
14.支持對指定IP地址及onvif地址進行單播搜索,比如跨網(wǎng)段情況下非常有用
15.支持指定過濾條件過濾搜索設(shè)備。
16.支持搜索間隔和搜索策略設(shè)置,保證所有設(shè)備搜索回來,在大量設(shè)備現(xiàn)場很有用(親測上千個攝像機現(xiàn)場,搜索回來的設(shè)備數(shù)量比攝像機廠家自帶搜索工具還要準確)。
17.可對設(shè)備進行重啟、網(wǎng)絡(luò)參數(shù)獲取等。
18.支持各種事件訂閱、Onvif抓圖等操作。
19.支持NTP校時和時間同步設(shè)置。
20.內(nèi)置了線程實時執(zhí)行Onvif指令隊列,排隊最大速度的執(zhí)行對應(yīng)的指令,執(zhí)行結(jié)果信號發(fā)出。
21.采用的最底層的TCP+UDP通信機制,原創(chuàng)最底層協(xié)議解析,純QtWidget編寫。
21.采用的最底層的TCP+UDP通信機制,原創(chuàng)最底層協(xié)議解析,純QtWidget編寫22.超級小巧輕量,總共約3000行代碼,不依賴任何第三方的庫和組件,跨平臺。23.封裝好了通用的數(shù)據(jù)發(fā)送和接收解析的函數(shù),可以非常方便的自行拓展其他Onvif處理。24.工具上提供了收發(fā)數(shù)據(jù)文本框,顯示收發(fā)的數(shù)據(jù),方便查看和分析25.支持所有Onvif設(shè)備,代碼工整,接口友好,直接引入pri即可使用。
#井井、主要功能
1.搜索設(shè)備,獲取設(shè)備的信息比如廠家、型號等。
2.獲取設(shè)備的多個配置文件信息profile。
3.獲取對應(yīng)配置文件的視頻流地址rtsp,以及分辨率等參數(shù)。
4.云臺控制,上下左右移動,焦距放大縮小,相對和絕對移動。
5.獲取預(yù)置位信息,觸發(fā)預(yù)置位。
6.訂閱事件,接收設(shè)備的各種消息尤其是報警事件比如I0口的報警
7.抓圖,獲取設(shè)備當前的圖片。
8. 獲取、創(chuàng)建、刪除用戶信息。
9.獲取和設(shè)備網(wǎng)絡(luò)配置信息比如IP地址等。
10.獲取和設(shè)置NTP時間同步以及設(shè)置設(shè)備時間。
11.獲取和設(shè)置視頻參數(shù)和圖片參數(shù)(亮度、色彩、飽和度)。
12.重啟設(shè)備。
### 三、云臺說明
1.x、y、z范圍都在0-1之間。
2.x為負數(shù),表示左轉(zhuǎn),x為正數(shù),表示右轉(zhuǎn),
3.y為負數(shù),表示下轉(zhuǎn),y為正數(shù),表示上轉(zhuǎn)。
4.z為正數(shù),表示拉近,z為負數(shù),表示拉遠。
5.通過x和y的組合,來實現(xiàn)云臺的控制。
6.通過z的組合,來實現(xiàn)焦距控制。
### 四、處理流程
1.綁定組播IP(239.255.255.250)和端口(3702),發(fā)送固定的xml格式的數(shù)據(jù)搜索設(shè)備2.接收到的xml格式的數(shù)據(jù)解析,得到設(shè)備的Onvif地也址。
3.對Onvif地址發(fā)送對應(yīng)的數(shù)據(jù),收到數(shù)據(jù)取出對應(yīng)的節(jié)點數(shù)據(jù)。
4.請求Onvif地址獲取Media地址和Ptz地址,Media地址用來獲取詳細的配置文件,Ptz地址用來云臺控制。
5.ptz控制是對Ptz地址發(fā)送對應(yīng)的數(shù)據(jù)即可,
6.設(shè)置了用戶認證的需要組織用戶token信息一塊發(fā)送,每次都需要作鑒權(quán)處理7.接收到的數(shù)據(jù)不是標準的xml數(shù)據(jù),帶有前綴命名空間,解析的時候要注意。8.每個廠家設(shè)備返回的數(shù)據(jù)未必完全一致,基本上都不一致,需要進行模糊査找節(jié)點值。9.特意采用底層協(xié)議解析,因為soap太臃腫函數(shù)名稱太另類,特意做的輕量級的。10.兩個必備工具,Onvif Device Manager和 Onvif Device Test Tool。
### 五、使用說明
1.必須確認攝像機是支持onvif的攝像機。
2.搜索的時候選定正確的網(wǎng)卡,建議同一網(wǎng)段。
攝像機必須開啟了onvif服務(wù),很多攝像機為了安全性考慮默認可能不開啟。3onvif用戶信息必須正確,一般攝像機onvif功能開啟的地方可以添加用戶。A.5.在界面上輸入用戶名和密碼的時候記得在界面中輸入,不要在配置文件中輸入,配置文件中存儲的是密
6.圖片參數(shù)的范圍值有多種:0-100 0-128 0-255 如果發(fā)現(xiàn)設(shè)置不成功可以把值調(diào)小一點試試。
7.可以用國際官方工具(Onvif Device Manager 和 Onvif Device Test Tool)進行測試對比。
8.國際工具下載地址:[https://pan.baidu.com/s/1d7TH GEY5nOecuNIWJ7g](https://pan.baidu.com/s/1d7TH GEYl5nOecuNIWJJ7g)提取碼:01jf



本源碼地址:http://m.bmm520.net/vip/vc/2024/0831/25476.html