qq_35352132
我持浮生祭奠流年
2017-04-20 01:44

海康SDK如何实现视频流转发

5
  • sdk
  • 视频流
    class FRealDataCallBack implements HCNetSDK.FRealDataCallBack_V30
        {    
            //预览回调
            public void invoke(NativeLong lRealHandle, int dwDataType, ByteByReference pBuffer, int dwBufSize, Pointer pUser)
            {
                HWND hwnd =hwand;
                switch (dwDataType)
                {
                    case HCNetSDK.NET_DVR_SYSHEAD: //系统头

                        if (!playControl.PlayM4_GetPort(m_lPort)) //获取播放库未使用的通道号
                        {
                            break;
                        }

                        if (dwBufSize > 0)
                        {
                            if (!playControl.PlayM4_SetStreamOpenMode(m_lPort.getValue(), PlayCtrl.STREAME_REALTIME))  //设置实时流播放模式
                            {
                                break;
                            }

                            if (!playControl.PlayM4_OpenStream(m_lPort.getValue(), pBuffer, dwBufSize, 1024 * 1024)) //打开流接口
                            {
                                break;
                            }

                            if (!playControl.PlayM4_Play(m_lPort.getValue(), hwnd)) //播放开始
                            {
                                break;
                            }
                        }
                    case HCNetSDK.NET_DVR_STREAMDATA:   //码流数据
                        if ((dwBufSize > 0) && (m_lPort.getValue().intValue() != -1))
                        {
                            if (!playControl.PlayM4_InputData(m_lPort.getValue(), pBuffer, dwBufSize))  //输入流数据
                            {
                                break;
                            }
                        }
                }
            }


                    回调函数里的pBuffer是否就是流数据,对于实时预览要如何处理流数据的转发
  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

1条回答