JavaCV - 使用FFmpegFrameGrabber播放文件时出现奇怪的黑屏

时间:2012-05-15 19:01:27

标签: opencv ffmpeg video-streaming javacv

我正在使用JavaCV,它是我项目中的FFmpegFrameGrabber。当我从Eclipse启动项目时,它加载和播放器文件正常,但是当我运行编译项目时,它显示黑屏或静止第1帧。有时会遇到这个错误:

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返回null upn调用grab()方法。为什么它在Eclipse中有效并且不能在独立构建中工作?所有的库都包括在内,我想如果它们没有,就会出现错误。

1 个答案:

答案 0 :(得分:0)

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