我正在使用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中有效并且不能在独立构建中工作?所有的库都包括在内,我想如果它们没有,就会出现错误。
答案 0 :(得分:0)
升级到2.4.0版本的OpenCV和当前版本的JavaCV就可以了。如果有人遇到相同的情况(不太可能),只需按照JavaCV网站上的说明执行全新安装。