【问题标题】:MJPEG stream fails to open in OpenCV 2.4MJPEG 流无法在 OpenCV 2.4 中打开
【发布时间】:2013-08-06 21:11:10
【问题描述】:

我在让 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 视频流中捕获时,相同的代码可以正常工作。

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

【问题讨论】:

    标签: c++ opencv mjpeg


    【解决方案1】:

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

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

    【讨论】:

    • 似乎没有帮助,仍然可以像这样在浏览器中查看它,但在 OpenCV 中仍然没有运气。
    • 让它工作,只需要让它看起来像一个文件扩展名。
    【解决方案2】:

    我找到了答案,它与 Hitesh 建议的类似,我只需要在 mjpg 之前有一个 . 即可让 OpenCV 认为它是文件的 URI。

    我在this 对类似问题的回答中找到了这个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-06
      • 1970-01-01
      • 1970-01-01
      • 2020-12-09
      • 2013-11-24
      • 2017-10-19
      • 1970-01-01
      相关资源
      最近更新 更多