本文主要是介绍Opencv读取RTSP流,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
模板代码:
cv::VideoCapture capture(url);if (!capture->isOpened()) {//Error
}cv::namedWindow("TEST", CV_WINDOW_AUTOSIZE);cv::Mat frame;while(m_enable) {if (!capture->read(frame)) {//Error}cv::imshow("TEST", frame);cv::waitKey(30);
}
注意事项:
用opencv的VideoCapture读取RTSP视频流,只有opencv3.1版本可以,之前的版本都无法读取视频流。可能的原因是云平台的RTSP视频流太差,经常错码。项目最后使用的是opencv2.4.9,然后ffmpeg的dll库用的是opencv3.1的,就可以读取视频流了。
PS:
我自己在调用OPencv获取RTSP流的时候,有客户端卡死的现象,
建议,多插入几个sleep(1), 提前判断设备网络地址是否通断。
这篇关于Opencv读取RTSP流的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!