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

    技术2023-08-15  224

    本文为博主原创文章,未经博主允许不得转载。(合作洽谈请联系QQ:1010316426)

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

    从图中可以分析出: (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);
    Processed: 0.009, SQL: 9