Home > Software engineering >  The use of dahua camera SDK to read network stream data into opencv Mat
The use of dahua camera SDK to read network stream data into opencv Mat

Time:12-03

I use dahua camera SDK for development, from the SDK callback function to receive the original image information, but I'd like to use opencv directly read data in memory, no idea,, have what good method, mainly as follows:
 
Char fileName [30]="originData";
Void CALLBACK RealDataCallBackEx (LLONG lRealHandle dwords dwDataType, BYTE
* pBuffer, dwords dwBufSize, LONG param, LDWORD dwUser)
{
//pBuffer points to the data buffer in the head of the dwBufSize is the size of the data,
The switch (dwDataType)
{
Case 0:
//the original audio and mixed data
Printf (" the receive real data, the param: lRealHandle [p] %, dwDataType [% d], pBuffer [p] %, dwBufSize [% d] \ n ",
LRealHandle dwDataType, pBuffer, dwBufSize);
CLIENT_SaveRealData (lRealHandle, fileName);
break;
,,,,,,,,,,



If I direct to save raw data into a file, in PotPlayer can directly open, view the files on PotPlayer encoding attribute is as follows:
 
[filter with list]
(1) Built - in DVR Source
(2) Built - in Video Codec/Transform
(3) Enhanced Video Renderer (Custom Present)

[video information]
Video coding: HEVC - Native D3D9 DXVA Decoder (VLD) - Intel (R) UHD Graphics 630
Input format: HEVC (24 bits)
Input size: 1280 x 960 (1.33 :1)
The output format: dxva
Output size: 1280 x 960 (1.33 :1)
Frame rate: 25
Unknown BitRate:


According to the information terminal printing, every time the same address, accept the raw data information every time there will be differences, but size
 
The receive real data, the param: lRealHandle bed5b0e580 [000002], dwDataType [0], pBuffer ca6f2f3070 [000000], dwBufSize [4415]
The receive real data, the param: lRealHandle bed5b0e580 [000002], dwDataType [0], pBuffer ca6f2f3070 [000000], dwBufSize [4604]
The receive real data, the param: lRealHandle bed5b0e580 [000002], dwDataType [0], pBuffer ca6f2f3070 [000000], dwBufSize [32768]
The receive real data, the param: lRealHandle bed5b0e580 [000002], dwDataType [0], pBuffer ca6f2f3070 [000000], dwBufSize [1881]
The receive real data, the param: lRealHandle bed5b0e580 [000002], dwDataType [0], pBuffer ca6f2f3070 [000000], dwBufSize [173]
The receive real data, the param: lRealHandle bed5b0e580 [000002], dwDataType [0], pBuffer ca6f2f3070 [000000], dwBufSize [4291]
The receive real data, the param: lRealHandle bed5b0e580 [000002], dwDataType [0], pBuffer ca6f2f3070 [000000], dwBufSize [4711]
The receive real data, the param: lRealHandle bed5b0e580 [000002], dwDataType [0], pBuffer ca6f2f3070 [000000], dwBufSize [4655]
The receive real data, the param: lRealHandle bed5b0e580 [000002], dwDataType [0], pBuffer ca6f2f3070 [000000], dwBufSize [5007]
The receive real data, the param: lRealHandle bed5b0e580 [000002], dwDataType [0], pBuffer ca6f2f3070 [000000], dwBufSize [4577]
The receive real data, the param: lRealHandle bed5b0e580 [000002], dwDataType [0], pBuffer ca6f2f3070 [000000], dwBufSize [4609]
The receive real data, the param: lRealHandle bed5b0e580 [000002], dwDataType [0], pBuffer ca6f2f3070 [000000], dwBufSize [4656]
The receive real data, the param: lRealHandle bed5b0e580 [000002], dwDataType [0], pBuffer ca6f2f3070 [000000], dwBufSize [4533]


In this case how to transform the original image information into opencv can deal with image format,, do you have any idea, hope show just a little,
  • Related