我在我的项目中使用 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 中工作,而不能在独立构建中工作?所有库都包括在内,我想,如果不这样做,它会出现错误。