NET_DVR_RealPlay_V30(m_struDeviceInfo.lLoginID,&ClientInfo,g_RealDataCallBack_V30,NULL,TRUE); //播放实时流
g_RealDataCallBack_V30 回调函数实现获取实时流
void CALLBACK g_RealDataCallBack_V30(LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer,DWORD dwBufSize,void* dwUser)
{
switch (dwDataType)
{
case NET_DVR_SYSHEAD: //dwDataType宏的值
if (!PlayM4_GetPort(&lPort)) //获取播放库未使用的通道号
{
break;
}
if (dwBufSize > 0)
{
if (!PlayM4_SetStreamOpenMode(lPort, STREAME_REALTIME)) //设置实时流播放模式
{
break;
}
if (!PlayM4_OpenStream(lPort, pBuffer, dwBufSize, 2*1024*1024)) //打开流接口
{
break;
}
if (!PlayM4_Play(lPort,NULL)) //播放开始 这一步必须有
{
break;
}
PlayM4_SetDecCallBack(lPort,DecCBFun); //执行回调
}
case NET_DVR_STREAMDATA: //码流数据
if (dwBufSize > 0 && lPort != -1)
{
if (!PlayM4_InputData(lPort, pBuffer, dwBufSize))
{
break;
}
}
}
}
DecCBFun 回调函数对实时流进行处理 可输出 RGB32帧、YUV12帧