0

我在我的项目中使用 JavaCV,它是 FFmpegFrameGrabber。当我从 Eclipse 启动项目时,它可以加载和播放文件,但是当我运行已编译的项目时显示黑屏或仍然是第一帧。有时会出现此错误:

Input #0, avi, from 'C:/path/Start_Cut.avi':
Duration: 00:00:20.03, start: 0.000000, bitrate: 26002 kb/s
Stream #0.0: Video: mpeg4, yuv420p, 1920x1080, 30 tbr, 30 tbn, 30 tbc
Cannot allocate memory. com.googlecode.javacv.FrameGrabber$Exception: Cannot initialize the conversion c ontext.
            at com.googlecode.javacv.FFmpegFrameGrabber.start(FFmpegFrameGrabber.jav a:280)

有时与

[mpeg4 @ 6A95DF20] Invalid and inefficient vfw-avi packed B frames detected
Input #0, avi, from 'C:/path/Start_Cut.avi':
  Duration: 00:00:20.03, start: 0.000000, bitrate: 26002 kb/s
    Stream #0.0: Video: mpeg4, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 25 tbr, 30
 tbn, 25 tbc

有人知道吗?

更新:

我已经能够缩小问题的范围。出于某种原因,FFmpegFrameGrabber 返回 upnnull调用该grab()方法。为什么它可以在 Eclipse 中工作,而不能在独立构建中工作?所有库都包括在内,我想,如果不这样做,它会出现错误。

4

1 回答 1

0

升级到 OpenCV 的 2.4.0 版本和 JavaCV 的当前版本就可以了。如果有人遇到同样的情况(这不太可能),只需按照 JavaCV 网站上的说明执行全新安装。

于 2012-05-16T11:21:24.370 回答