我正在尝试找到一种将视频提取到帧中的方法。 主要目标是使用 openGl 更改图像并重新构建视频。
问题是我找不到提取视频的合适方法。我看到使用 MediaMetadataRetriever 可以回答很多熟悉的问题,但我不想使用它,因为它工作起来真的很慢。
我对 jcodec、ffmpeg、openCV 和 mp4parser 等库做了一些研究。
jcodec - 工作正常但非常慢,每个 getFrame() 花费 1 秒。
ffmpeg - 在 GPL 许可下,这意味着您必须发布您的代码。
openCV - 复杂。也许我可以用它完成我需要的,但它看起来太复杂了,我正在寻找一个更简单的解决方案。
mp4parser - 提取解码帧但不支持将它们编码为 jpg/png。
如果能在这方面得到一些帮助,那就太好了。发送
最佳答案
不,ffmpeg 库已获得 LGPL 许可,不需要打开所有代码。 android 版本的 avcodec 包括一个 libstagefright 接口(interface),它为 h264 (avc) 提供硬件编解码器。这是您在 Android 上所能达到的最快速度。
关于android - 从视频中获取帧而不是使用 MediaMetadataRetriever,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19665103/