MJPEG流无法在OpenCV 2.4中打开

时间:2013-08-06 10:30:06

标签: c++ opencv mjpeg

我遇到一个问题,让OpenCV 2.4从Raspberry Pi的MJPEG流中捕获,我在浏览器中检查了流URL并且它似乎工作正常,但是当我尝试在OpenCV中打开它时,似乎当我试图打开它时挂起(我在终端上都没有收到错误或成功消息)。

cv::VideoCapture vcap;
cv::Mat raw_image;

const string videoStreamAddress = "http://192.168.0.28:8080/?action=stream";

if(!vcap.open(videoStreamAddress))
{
    cout<<"Error opening video stream"<<endl;
    return -1;
}

cout<<"Stream opened"<<endl;

我正在使用MJPEG-Streamer来提供流。 捕获形成RTSP视频流时,相同的代码可以正常工作。

编辑:我尝试更改Pi上raspistill捕获的图像的JPEG质量和分辨率,现在我收到消息说该流无法打开。

2 个答案:

答案 0 :(得分:3)

尝试添加虚拟参数,提示mjpeg内容:

const string videoStreamAddress = "http://192.168.0.28:8080/?action=stream&amp;type=mjpg";

答案 1 :(得分:2)

我找到了答案,它与Hitesh建议的类似,我只需要. mjpg才能使OpenCV认为它是文件的URI。

我在this中找到了类似问题的答案。