例如,我们有一个可以工作的rtsp流测试,比如:"rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov“(它在发布这篇文章的时刻起作用)
现在我想在openCV (opencv 2.4.7 / 2.4.8)中捕获这个视频流,我的代码在本地电影文件上工作得很好,但当我尝试捕获rtsp时,我得到的消息如下:“无法读取电影文件rtsp
我尝试了几种不同的方法,比如:
CvCapture *camera = cvCreateFileCapture("rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov");
if (camera == NULL) {
printf("video is null, aborting...");
return -1;
}
else{
printf("video ok");
}或者:
cv::VideoCapture vcap;
//open the video stream and make sure it's opened
if(!vcap.open("rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov")) {
std::cout << "Error opening video stream or file" << std::endl;
return -1;
}有什么想法吗?
--
尼德维德
发布于 2014-01-21 08:31:50
下面的代码对我来说没有任何问题。如果您有流的用户名和密码,不要忘记将其包含在url地址中。
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);
}https://stackoverflow.com/questions/21041370
复制相似问题