【问题标题】:Error while capturing video via RTSP from a network camera using OpenCV and FFMPEG使用 OpenCV 和 FFMPEG 从网络摄像机通过 RTSP 捕获视频时出错
【发布时间】:2012-10-18 15:04:50
【问题描述】:

我正在使用 OpenCV 和 FFMPEG 从使用 RTSP 的网络摄像机捕获帧。关键是OpenCV成功加载了FFMPEG .dll,但icvCreateFileCapture_FFMPEG_p在cap_ffmpeg.cpp的以下代码中返回false:

virtual bool open( const char* filename )
{
    close();

    icvInitFFMPEG();
    if( !icvCreateFileCapture_FFMPEG_p )
        return false;
    ffmpegCapture = icvCreateFileCapture_FFMPEG_p( filename );
    return ffmpegCapture != 0;
}

【问题讨论】:

    标签: opencv ffmpeg rtsp


    【解决方案1】:

    可能流尚未准备好,或者您的网络地址/访问有问题。 检查this,如果您遵循了正确的做法。先尝试 pin 网络资源,看看它是否可用。摄像头还必须允许通过其 Web 界面设置的未经身份验证的访问。有时 MJPEG 有效,而 MPEG4 有问题。

    【讨论】:

    • 流已准备就绪,因为我使用 VLC 以完全相同的路径连接。
    • 流在 VLC 上播放吗?如果是,请确保发送到 OpenCV 的数据采用受支持的格式。
    • 是的,而且 VLC 通过 live555 使用 ffmpeg (x264),所以我认为 OpenCV 也是如此。
    • 我不相信 VLC 使用 live555 ,只是 ffmpeg 和我的 openCV 有一个界面 highGUI 也不使用 live 555。 udp 端口​​ 554 可能被阻止。
    • 不要打死马,但您可以选择启用 vlc --enable-live555 \ 不确定它使用什么部件,因为我知道 vlc 可以只选择 ffmpeg。所以也许我部分错了,但 live555 并不是那么好,我非常了解 c++,但即使对我们来说,使用该库构建一个中途体面的客户端也很困难
    猜你喜欢
    • 2016-12-17
    • 1970-01-01
    • 2012-07-21
    • 2013-07-12
    • 1970-01-01
    • 2011-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多