opencv在多线程下无法播放rtsp视频

szkjxylm 2016-03-16 09:00:53
int main()
{
/*CvCapture *capture = cvCreateFileCapture("rtsp://admin:admin123@172.24.47.47:554/h264/ch1/main/av_stream");
IplImage *frame = NULL;
while ((frame = cvQueryFrame(capture)) != NULL){
imshow("lm", (Mat)frame);
}
waitKey();*/
CLock lock(g_Lock);
HANDLE hThread;
String temp = "rtsp://admin:admin123@172.24.47.47:554/h264/ch1/main/av_stream";
for (int i = 0; i <= 1; i++) {

if ((hThread = CreateThread(NULL,
0,
(LPTHREAD_START_ROUTINE)&FunProc,
&temp,
0,
NULL
)) == NULL)
{
printf("Error Creating Thread#: %d\n", i);
return(1);
}
else
{
Sleep(10);

}
CloseHandle(hThread);
}
system("pause");
}


DWORD WINAPI FunProc(
LPVOID IpParameter
)
{
test(*((String*)IpParameter));
return 0;
}

int test(String AviFileName)
{
const char* ptemp = AviFileName.c_str();
CvCapture *capture = NULL;
IplImage *frame = NULL;
capture = cvCreateFileCapture(ptemp);
cout << ptemp << endl;
while ((frame = cvQueryFrame(capture)) != NULL){
imshow(ptemp, (Mat)frame);
}
waitKey();
return 0;
}
直接播放时可以的,但放在多线程下面无法播放,然而可以播放本地视频
...全文
454 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧