【问题标题】:Why opencv failed to read a rmvb video?为什么opencv无法读取rmvb视频?
【发布时间】:2013-02-06 07:14:54
【问题描述】:

我的 opencv 程序成功读取 mp4 视频文件,但未能读取一些 rmvb 文件,并给出以下错误:

[rm @ 0x821f80] Invalid stream index 2 for index at pos 974024349
video has 300480frames
[rv40 @ 0xbac8a0] Internal error, picture buffer overflow
Aborted (core dumped)

这是opencv的错误吗?有人遇到过类似的问题吗?感谢您的帮助!

编辑: 我发现我的 FFMPEG 确实支持使用 ffmpeg -codecs | grep RealVideo 的 rmvb。但是为什么这仍然失败?

【问题讨论】:

    标签: video opencv ffmpeg video-streaming


    【解决方案1】:

    好的,但是这些消息不是来自 OpenCV

    您安装的 OpenCV 使用 FFmpeg (libavformat, libavcodec) 作为后端来处理视频文件。此消息告诉您的是,您当前的 FFmpeg 不支持 RMVB RV40。升级 FFmpeg 及其库。

    另一种方法是手动编译 OpenCV 并将其设置为使用 GStreamer 作为后端。 Someone 表示以下软件包需要安装到 OpenCV 的构建中,可以在 CMake 配置期间检测到它。如果你的系统支持apt-get

    sudo apt-get install libgstreamer0.10-0 libgstreamer0.10-dev gstreamer0.10-tools gstreamer0.10-plugins-base libgstreamer-plugins-base0.10-dev gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly gstreamer0.10-plugins-bad gstreamer0.10-ffmpeg
    

    【讨论】:

    • 但是 ffmpeg -codecs | grep RealVideo显示我的ffmpeg支持所有rmvb格式,使用ffmpeg从rmvb视频中提取图片成功。
    • 这种情况下,升级opencv。
    猜你喜欢
    • 2015-12-05
    • 1970-01-01
    • 2018-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-22
    • 1970-01-01
    • 2012-01-14
    相关资源
    最近更新 更多