真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

QtOnvif圖片參數(shù)怎么使用

這篇文章主要講解了“Qt Onvif圖片參數(shù)怎么使用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Qt Onvif圖片參數(shù)怎么使用”吧!

榆中ssl適用于網站、小程序/APP、API接口等需要進行數(shù)據傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

一、前言

視頻中的圖片的配置參數(shù)一般有亮度、飽和度、對比度、銳度等,以前一直以為這些需要通過廠家的私有協(xié)議SDK來設置才行,后面通過研究Onvif Device Manager 和 Onvif Device Test Tool 這兩個onvif開發(fā)的必備工具以后,發(fā)現(xiàn)onvif協(xié)議也具備了修改 亮度、色彩度、飽和度這三個參數(shù),當然這三個參數(shù)我見過的攝像機廠家(主流的十幾種)都具備,還有些大廠做的設備還提供了其他詳細圖片參數(shù)的設置比如ICAT。

通過萬能的超級牛逼的抓包工具Wireshark抓包分析,發(fā)現(xiàn) 對圖片參數(shù)進行設置(亮度、色彩度、飽和度)的參數(shù)中除了指定填入亮度、色彩度、飽和度的值以外,還需要指定VideoSourceToken,這玩意從哪里來呢?需要通過獲取VideoSource拿到,即GetVideoSources命令,一般來說會在獲取設備的rtsp地址、ptz云臺地址等信息的時候一并獲取,獲取到以后存入onvifdevice類的變量中,下次設置圖片參數(shù)的時候直接取就行。

onvif主要的功能:

  1. 搜索設備,獲取設備的信息比如廠家、型號等。

  2. 獲取設備的多個配置文件信息profile。

  3. 獲取對應配置文件的視頻流地址rtsp,以及分辨率等參數(shù)。

  4. 云臺控制,上下左右移動,焦距放大縮小,相對和絕對移動。

  5. 獲取預置位信息,觸發(fā)預置位。

  6. 訂閱事件,接收設備的各種消息尤其是報警事件比如IO口的報警。

  7. 抓圖,獲取設備當前的圖片。

  8. 獲取、創(chuàng)建、刪除用戶信息。

  9. 獲取和設備網絡配置信息比如IP地址等。

  10. 獲取和設置NTP時間同步以及設置設備時間。

  11. 獲取和設置視頻參數(shù)和圖片參數(shù)(亮度、色彩、飽和度)。

  12. 重啟設備。

onvif的處理流程:

  1. 綁定組播IP(239.255.255.250)和端口(3702),發(fā)送固定的xml格式的數(shù)據搜索設備。

  2. 接收到的xml格式的數(shù)據解析,得到設備的Onvif地址。

  3. 對Onvif地址發(fā)送對應的數(shù)據,收到數(shù)據取出對應的節(jié)點數(shù)據。

  4. 請求Onvif地址獲取Media地址和Ptz地址,Media地址用來獲取詳細的配置文件,Ptz地址用來云臺控制。

  5. ptz控制是對Ptz地址發(fā)送對應的數(shù)據即可。

  6. 設置了用戶認證的需要組織用戶token信息一塊發(fā)送,每次都需要作鑒權處理。

  7. 接收到的數(shù)據不是標準的xml數(shù)據,沒法按照正常的節(jié)點解析來處理,只能用QXmlQuery來做。

  8. 每個廠家設備返回的數(shù)據未必完全一致,基本上都不一致,需要進行模糊查找節(jié)點值。

  9. 特意采用底層協(xié)議解析,因為soap太臃腫函數(shù)名稱太另類,特意做的輕量級的。

  10. 兩個必備工具,Onvif Device Manager 和 Onvif Device Test Tool。

二、功能特點

  1. 廣播搜索設備,支持IPC和NVR,依次返回,可選擇不同的網卡IP。

  2. 依次獲取Onvif地址、Media地址、Profile文件、Rtsp地址。

  3. 可對指定的Profile獲取視頻流Rtsp地址,比如主碼流子碼流地址。

  4. 可對每個設備設置Onvif用戶信息,用于認證獲取詳細信息。

  5. 可實時預覽攝像機圖像。

  6. 支持云臺控制,可上下左右調節(jié)云臺,支持絕對移動和相對移動,可放到和縮小圖像遠近。

  7. 支持Qt4和Qt5任意Qt版本,親測Qt4.7.0到Qt5.14.2。

  8. 支持任意編譯器,親測mingw、msvc、gcc、clang。

  9. 支持任意操作系統(tǒng),親測xp、win7、win10、android、linux、嵌入式linux、樹莓派全志H3等。

  10. 支持任意Onvif攝像機和NVR,親測海康、大華、宇視、華為、海思芯片內核等,可定制開發(fā)。

  11. 支持對指定IP地址及onvif地址進行單播搜索,比如跨網段情況下非常有用。

  12. 支持指定過濾條件過濾搜索設備。

  13. 支持搜索間隔設置,保證所有設備搜索回來,在大量設備現(xiàn)場很有用。

  14. 可對圖片參數(shù)(亮度、色彩度、飽和度)進行設置。

  15. 支持NTP校時和時間同步設置。

  16. 純Qt編寫,超級小巧輕量,總共約2000行代碼,不依賴任何第三方的庫和組件,跨平臺。

  17. 封裝好了通用的數(shù)據發(fā)送和接收解析的函數(shù),可以非常方便的自行拓展其他Onvif處理。

  18. 工具上提供了收發(fā)數(shù)據文本框,顯示收發(fā)的數(shù)據,方便查看和分析。

  19. 支持所有Onvif設備,代碼工整,接口友好,直接引入pri即可使用。

三、效果圖

Qt Onvif圖片參數(shù)怎么使用

四、核心代碼

QString OnvifOther::getVideoSource()
{
    QString result = writeData("    ", "", "獲取視頻參數(shù)", false, false, 1);
    QStringList list = result.split(ResultSplit);
    QString videosource = list.first().split(":").last();
    device->videoSource = videosource;
    return result;
}

QString OnvifOther::getImageSetting(int &brightness, int &colorSaturation, int &contrast)
{
    brightness = colorSaturation = contrast = 0;
    QString wsdl = "http://www.onvif.org/ver20/imaging/wsdl";

    QStringList list;
    list << QString("    ").arg(wsdl);
    list << QString("      %1").arg(device->videoSource);
    list << QString("    ");

    QString result = writeData(list.join("\r\n"), "Brightness|ColorSaturation|Contrast", "獲取圖片參數(shù)", false);
    list = result.split(ResultSplit);
    if (list.count() != 3) {
        return result;
    }

    brightness = list.at(0).split(":").last().toInt();
    colorSaturation = list.at(1).split(":").last().toInt();
    contrast = list.at(2).split(":").last().toInt();
    return result;
}

bool OnvifOther::setImageSetting(int brightness, int colorSaturation, int contrast)
{
    QString wsdl = "http://www.onvif.org/ver20/imaging/wsdl";
    QString schema = "http://www.onvif.org/ver10/schema";

    QStringList list;
    list << QString("    ").arg(wsdl);
    list << QString("      %1").arg(device->videoSource);
    list << QString("      ");
    list << QString("        %2").arg(schema).arg(brightness);
    list << QString("        %2").arg(schema).arg(colorSaturation);
    list << QString("        %2").arg(schema).arg(contrast);
    list << QString("      ");
    list << QString("      true");
    list << QString("    ");

    QString result = writeData(list.join("\r\n"), "SetImagingSettingsResponse", "設置圖片參數(shù)", false);
    return result.contains("SetImagingSettingsResponse");
}

感謝各位的閱讀,以上就是“Qt Onvif圖片參數(shù)怎么使用”的內容了,經過本文的學習后,相信大家對Qt Onvif圖片參數(shù)怎么使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關知識點的文章,歡迎關注!


標題名稱:QtOnvif圖片參數(shù)怎么使用
文章源于:http://weahome.cn/article/pjghhe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部