从视频而不是MediaMetadataRetriever获取帧

时间:2013-10-29 17:23:41

标签: android opencv video ffmpeg bitmapfactory

我正试图找到一种将视频提取到帧中的方法。 主要目标是使用openGl更改图像并再次构建视频。

问题在于我无法找到提取视频的不同方式。我看到使用MediaMetadataRetriever回答了许多熟悉的问题,但我不想使用它,因为它的工作非常慢。

我对像jcodec,ffmpeg,openCV和mp4parser这样的库做了一些研究。

jcodec - 工作正常但速度很慢,每个getFrame()花费1秒。

ffmpeg - 根据GPL许可,这意味着您必须发布您的代码。

openCV - 复杂。也许我可以用它完成我需要的东西,但它看起来太复杂了,我正在寻找一个更简单的解决方案。

mp4parser - 提取已解码的帧但不支持将它们编码为jpg / png。

在那个问题上得到一些帮助会很棒。 TNX

1 个答案:

答案 0 :(得分:0)

不,ffmpeg库已获得LGPL许可,并且不需要打开您的所有代码。 avcodec的android构建包括libstagefright的接口,它为h264(avc)提供硬件编解码器。这与Android上的速度一样快。