欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

调取海康摄像机SDK获取的音视频码流的格式

程序员文章站 2022-07-14 21:38:28
...

通过调取海康摄像机SDK,获取的音视频码流,其格式并不是直觉上的H264/H265的NALU,而是PS流。如果想得到H264或者H265的裸流、以及音频帧,需要自行解复用PS。
获取的码流打印如下图所示:
调取海康摄像机SDK获取的音视频码流的格式

从图中可以分析出:
(1)左侧显示,当摄像机上“视频类型”设置为复合流时,回调得到的数据就包括视频E0和音频C0。
(2)右侧显示,当摄像机上“视频类型”设置为视频流时,回调得到的数据就仅仅只包括视频E0。

调取SDK取流的代码如下:

NET_DVR_CLIENTINFO ClientInfo;
ClientInfo.lChannel = iPChannel;
ClientInfo.lLinkMode = 0;
ClientInfo.hPlayWnd = NULL;
ClientInfo.sMultiCastIP = NULL;
ClientInfo.byProtoType = 1;

llRealHandle = NET_DVR_RealPlay_V30(lUserID,&ClientInfo, CBREALDATACALLBACK,NULL,TRUE);
NET_DVR_PREVIEWINFO info;
memset(&info, 0, sizeof info);
info.lChannel = iPChannel;
info.dwStreamType = 0;
info.dwLinkMode = 0;
info.bBlocked = 1;
info.byProtoType = 1;

llRealHandle = NET_DVR_RealPlay_V40(lUserID, &info, CBREALDATACALLBACK,NULL);