char fileName[30] = "originData";
void CALLBACK RealDataCallBackEx(LLONG lRealHandle, DWORD dwDataType, BYTE
* pBuffer, DWORD dwBufSize, LONG param, LDWORD dwUser)
{
//pBuffer指向的是数据缓冲区的头部,dwBufSize是数据的大小。
switch (dwDataType)
{
case 0:
//原始音视频混合数据
printf("receive real data, param: lRealHandle[%p], dwDataType[%d], pBuffer[%p], dwBufSize[%d]\n",
lRealHandle, dwDataType, pBuffer, dwBufSize);
CLIENT_SaveRealData(lRealHandle, fileName);
break;
。。。。。。。。
我如果直接将原始数据保存成文件,在PotPlayer可以直接打开,在PotPlayer上查看文件的编码属性如下:
[滤镜使用列表]
(1) Built-in DVR Source
(2) Built-in Video Codec/Transform
(3) Enhanced Video Renderer(Custom Present)
[视频信息]
视频编码: HEVC - Native D3D9 DXVA Decoder(VLD) - Intel(R) UHD Graphics 630
输入格式: HEVC(24 bits)
输入尺寸: 1280 × 960(1.33:1)
输出格式: dxva
输出尺寸: 1280 × 960(1.33:1)
帧率: 25
BitRate: 未知
根据终端打印的信息,每次接受的原始数据信息地址相同,但是大小每次会有差异。
receive real data, param: lRealHandle[000002BED5B0E580], dwDataType[0], pBuffer[000000CA6F2F3070], dwBufSize[4415]
receive real data, param: lRealHandle[000002BED5B0E580], dwDataType[0], pBuffer[000000CA6F2F3070], dwBufSize[4604]
receive real data, param: lRealHandle[000002BED5B0E580], dwDataType[0], pBuffer[000000CA6F2F3070], dwBufSize[32768]
receive real data, param: lRealHandle[000002BED5B0E580], dwDataType[0], pBuffer[000000CA6F2F3070], dwBufSize[1881]
receive real data, param: lRealHandle[000002BED5B0E580], dwDataType[0], pBuffer[000000CA6F2F3070], dwBufSize[173]
receive real data, param: lRealHandle[000002BED5B0E580], dwDataType[0], pBuffer[000000CA6F2F3070], dwBufSize[4291]
receive real data, param: lRealHandle[000002BED5B0E580], dwDataType[0], pBuffer[000000CA6F2F3070], dwBufSize[4711]
receive real data, param: lRealHandle[000002BED5B0E580], dwDataType[0], pBuffer[000000CA6F2F3070], dwBufSize[4655]
receive real data, param: lRealHandle[000002BED5B0E580], dwDataType[0], pBuffer[000000CA6F2F3070], dwBufSize[5007]
receive real data, param: lRealHandle[000002BED5B0E580], dwDataType[0], pBuffer[000000CA6F2F3070], dwBufSize[4577]
receive real data, param: lRealHandle[000002BED5B0E580], dwDataType[0], pBuffer[000000CA6F2F3070], dwBufSize[4609]
receive real data, param: lRealHandle[000002BED5B0E580], dwDataType[0], pBuffer[000000CA6F2F3070], dwBufSize[4656]
receive real data, param: lRealHandle[000002BED5B0E580], dwDataType[0], pBuffer[000000CA6F2F3070], dwBufSize[4533]
在这种情况下如何才能将原始的图像信息转换成opencv能处理的图片格式。各位大佬有没有什么思路。望指点一二。
