1996scarlet / IPCamera-CPython-Interface

兼容主流海康和雄迈IPC的适用于C++和python的帧数据获取接口

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

h264 no frame

cshlxm opened this issue · comments

摄像头 海康DS-IPC T12H, 运行python3 memory.py 提示 no frame!
看了下 海康文档设置样例里回调数据流的几个参数和本库的方式不太一样,没太明白为什么这里海康的样例里
`struPlayInfo.hPlayWnd = hWnd; //需要 SDK 解码时句柄设为有效值,仅取流不解码时可设为空

struPlayInfo.lChannel = 1; //预览通道号

struPlayInfo.dwStreamType = 0; //0-主码流,1-子码流,2-码流 3,3-码流 4,以此类推

struPlayInfo.dwLinkMode = 0; //0- TCP 方式,1- UDP 方式,2- 多播方式,3- RTP 方式,4-RTP/RTSP,5-RSTP/HTTP

struPlayInfo.bBlocked = 1; //0- 非阻塞取流,1- 阻塞取流`

本库里
` struPlayInfo.hPlayWnd = 0; //需要 SDK 解码时句柄设为有效值,仅取流不解码时可设为空

struPlayInfo.lChannel = 1;     //预览通道号

struPlayInfo.dwStreamType = 0; //0-主码流,1-子码流,2-码流 3,3-码流 4,以此类推

struPlayInfo.dwLinkMode = 1;   //0- TCP 方式,1- UDP 方式,2- 多播方式,3- RTP 方式,4-RTP/RTSP,5-RSTP/HTTP

struPlayInfo.bBlocked = 0;     //0- 非阻塞取流,1- 阻塞取流

`

找到原因了,python 没写 sleep,立即返回的是空的,sleep(1) 就好了, 另外我改成tcp的了

那个 no frame其实是ffmpeg报的 因为输入package的图像初始化为全0 没有头部信息
不用sleep的话获得的前几帧会是全黑的