1. 程式人生 > >EasyNVR中使用Onvif協議獲取裝置快照

EasyNVR中使用Onvif協議獲取裝置快照

我們知道EasyNVR中可以獲取快照資訊,之前的文章也說明了EasyNVR是如何進行快照抓取的

這裡我們使用另一種方法進行快照的抓取

流程

獲取裝置能力Capabilities

獲取裝置的能力,並且可以獲取到Media和PTZ的URI,使用Media的URI,可以進行快照的抓取

_tds__GetCapabilities* capabilities = soap_new__tds__GetCapabilities(proxyDevice, -1);
tt__CapabilityCategory* category = new tt__CapabilityCategory;
capabilities
->Category = category; *(capabilities->Category) = tt__CapabilityCategory__All; _tds__GetCapabilitiesResponse* response = soap_new__tds__GetCapabilitiesResponse(proxyDevice, -1); if (SOAP_OK == proxyDevice->GetCapabilities(capabilities, response)) { if (response->Capabilities) { //Media
URI: response->Capabilities->Media->XAddr; //PTZ URI: response->Capabilities->PTZ->XAddr; } }

獲取Media Profile

獲取Profile token可以獲取對應的快照

_trt__GetProfiles* getProfiles = soap_new__trt__GetProfiles(proxyMedia, -1);
_trt__GetProfilesResponse* response = soap_new__trt__GetProfilesResponse(proxyMedia, -1
); if (SOAP_OK == proxyMedia->GetProfiles(getProfiles, response)) { int size = response->__sizeProfiles; for (int i = 0; i < size; ++i) { if (response->Profiles[i]) { //Media Profile Token: response->Profiles[i]->token; //一般裝置包含多個Profile Token,包含主碼流、子碼流、第三碼流 } } }

獲取快照訪問地址

快照訪問地址通常為HTTP地址,可以通過這個HTTP地址GET到快照檔案

MediaBindingProxy* mediaProxy = new MediaBindingProxy;
  mediaProxy->soap_endpoint = mediaUrl.c_str();

  if (!security(mediaProxy, username, password))
  {
      delete mediaProxy;
      return result;
  }

  _trt__GetSnapshotUri* snap = soap_new__trt__GetSnapshotUri(mediaProxy, -1);
  _trt__GetSnapshotUriResponse* response = soap_new__trt__GetSnapshotUriResponse(mediaProxy, -1);
  snap->ProfileToken = const_cast<char*>(profile.c_str());

  if (SOAP_OK == mediaProxy->GetSnapshotUri(snap, response))
  {
      if (response->MediaUri && response->MediaUri->Uri)
      {
          //response->MediaUri->Uri
          //快照地址
      }
  }

  if (response)
      soap_delete__trt__GetSnapshotUriResponse(mediaProxy, response);

  if (snap)
      soap_delete__trt__GetSnapshotUri(mediaProxy, snap);

  return result;

獲取更多資訊

Copyright © EasyDarwin.org 2012-2017

EasyDarwin

相關推薦

EasyNVR使用Onvif協議獲取裝置快照

我們知道EasyNVR中可以獲取快照資訊,之前的文章也說明了EasyNVR是如何進行快照抓取的 這裡我們使用另一種方法進行快照的抓取 流程 獲取裝置能力Capabilities 獲取裝置的能力,並且可以獲取到Media和PTZ的URI,使用Media

使用Onvif協議進行裝置發現以及指定裝置資訊探測

EasyNVR支援使用onvif協議對裝置進行裝置發現,雲臺控制,onvif地址獲取等功能 這裡第一篇我們來說一下關於如何進行裝置發現 準備 這裡我們之探討如何使用gsoap進行onvif客戶端的開發,關於gsoap的onvif框架生成請自行g

EasyNVR使用Onvif協議控制預置位

EasyNVR支援預置位控制,包括轉到指定預置位,設定指定預置位,刪除指定預置位 預置位在安防領域有較為普遍的應用,可以進行很多既定位置的跳轉,很方便 之前我們說過如何用Onvif協議進行裝置的發現,探測,以及雲臺控制等,今天我們來說一下如何使用Onvif進

Android裝置通過NTRIP協議獲取差分資料實現高精度定位

轉載自http://www.jianshu.com/p/7b93952febc0 專案背景 最近在做一個Android的APP專案中有個功能,需要用到Ntrip協議從差分伺服器獲取差分資料,並將差分資料通過藍芽傳送至高精度手持裝置(華信TR502接收機)之後返回固定解的高精度定位資料(NMEA0813協

ONVIF協議網路攝像機(IPC)客戶端程式開發(7):裝置搜尋

1 專欄導讀 本專欄第一篇文章「專欄開篇」列出了專欄的完整目錄,按目錄順序閱讀,有助於你的理解,專欄前面文章講過的知識點(或程式碼段),後面文章不會贅述。為了節省篇幅,突出重點,在文章中展示的示例程式碼僅僅是關鍵程式碼,你可以在「專欄開篇」中獲取完整程式碼。

java程式碼,如何獲取請求 網路協議、IP、埠號、專案根路徑

pubulic static String getRequestPrefix(HttpServletRequest request){           //獲取網路協議            String networkProtocol = request.getSche

Android Onvif 搜尋IPC裝置以及獲取IPC裝置資訊

最近,在接觸onvif協議在Android端的實現。抓了無數的包,踩了無數的坑之後,利用取巧的方式也終於實現部分的功能,主要是搜尋IPC裝置,獲取IPC裝置的一些資訊:rtsp地址,音視訊編解碼資訊,雲臺資訊等。關於onvif協議請自行百度。 思路

linux系統下,qtcreator實現onvif協議裝置發現

一、開發環境 Fedora23 qtcreator4.0.3 based on Qt5.6.2 海康威視DS-2CD2512F-IS攝像機 二、建立工程 很喜歡用qtcreator,其強大的補全和檢錯功能,用起來十分舒服。因此使用qtcreator來建

通過python基於netconf協議獲取網路網元的配置資料,助力企業網路控制自動化輕鬆實現!

摘要:在當今資訊化時代,大多數企業都需要網路支撐企業的ICT執行,提升企業執行效率,針對企業網路中的網元裝置(包括交換機,路由器,防火牆等),很多企業希望根據自身的業務特點定製網路管理,比如可以實現網路的執行狀態視覺化,網路配置自動化等,如下就以華為的NE40E網元為例,說明如何通過python基於netco

Java使用HttpRequest獲取用戶真實IP地址

ase sign sso ignorecas == case ipaddr ava color 1 import javax.servlet.http.HttpServletRequest; 2 3 /** 4 * 自定義訪問對象工具類

SQL Server2008通過SQL獲取表結構

nds 數據 join xtend isn val data 運行 order SQL Server2008中通過SQL獲取表結構 新增數據用戶,角色為public。映射到待獲取表結構的數據庫上,授與用戶在該數據庫上的身份為db_owner 運行例如以下SQL語

Spring core resourc層結構體系及JDK與Spring對classpath資源的獲取方式及結果對比

資源 相關 add blog height back 獲取 img com 1. Spring core resourc層結構體系 1.1. Resource相關結構體系 1.2. ResourceLoader相關體系 2. JDK與Spring對cla

jsp頁面使用javascript獲取後臺放在request或session的值

jsp頁面 方式 attr 使用 con setattr track ava dsm 在JSP頁面中。常常使用javascript,可是要出javascript獲取存儲在request,session, application中的值。例如以下是獲取request中的值:

項目需要將獲取的數據按照順序讀取並且展示

com dha json fast blog lin ash lib 定義 1 項目中需要將獲取的數據按照順序讀取並且展示的時候的實例, 2 下面截圖是將獲取到的小區的照片。按照獲取的順序同步到ES 搜索服務器上 3 用到的JSON包是alibaba.fastjson包,此

sql ,如何獲取兩個日期之前月數、周數、天數

lvs lar sbo elif bold ss5 getdate 聲明 參數 1、獲取兩個日期之間的月數、周數、天數語法 --1、獲取兩個日期之間的月數、周數、天數 --1.1)聲明參數 declare @startDate varchar(20)

基於ONVIF協議的攝像頭開發總結

方式 遠程 object amp 利用 構建 bin ide code <什麽是ONVIF協議> 2008年5月,由安訊士(AXIS)聯合博世(BOSCH)及索尼(SONY)公司三方宣布攜手共同成立一個國際開放型網絡視頻產品標準網絡接口開發論壇,取名為O

sql常見日期獲取

新博 一段 最後一天 char 2-0 -1 etime 目錄 ron 閱讀目錄 獲取當前年月日 獲取各種日期的方法 函數 參數/功能 回到頂部 獲取當前年月日 select MONTH(GETDATE()) 6

jQUERY的屬性獲取

取值 [0 checked 多選 http 單選框 check 是否 txt jQuery獲取Select選擇的Text和Value:語法解釋:1. $("#select_id").change(function(){//code...}); //為Select添加事件

js如何快速獲取數組的最大值最小值

維數 spl 最大值 div 轉化 多維 logs clas null 1 var arr=[1,2,3,5]; 2 alert(Math.max.apply(null, arr));//最大值 3 alert(Math.min.apply(null, arr));//最

HTML頁面JavaScript能獲取到的各種屏幕大小信息

windows 部分 菜單 div markdown doc rip oct 寬度 在HTML頁面中,通過JavaScript代碼訪問 window 對象,能夠獲取到很多表征屏幕大小的信息,下面列舉並加以區分。 window 對象中的屏幕信息 window.innerhei