3

有没有人成功修改过 Vitamio 中使用的 ffmpeg 版本?我已经应用了一个适用于 linux 的补丁,并将其编译为 android 的 libffmpeg.so。如何让 Vitamio 从此库而不是捆绑包中包含的库运行?

有任何想法吗?

谢谢,

4

1 回答 1

3

要求

Vitamio 3.0 使用 Android NDK r8b 构建,因此建议使用 NDK r8b 构建您的自定义 FFmpeg。根据开发人员的反馈,如果使用其他 NDK 修订版,会出现很多问题和崩溃。

构建 FFmpeg

首先从我们的 GitHub http://github.com/yixia/FFmpeg-Android克隆 FFmpeg-Android 库。然后调整FFmpeg-Android.sh以满足您自己的需要。

最常见的场景是你想在你的应用程序中编译几个特定的​​ FFmpeg 模块,而不需要任何其他质量。在这种情况下,您需要做的就是修改FFMPEG_FLAGSshell 脚本中的 。所有可用参数都在 FFmpeg 的配置脚本中有详细记录configure --help

在极少数情况下,如果您想修补 FFmpeg,您需要做更多的工作,我只是认为您可能具备执行此操作的所有知识。实际上,您只需要了解 FFmpeg-Android.sh 或制作自己的构建脚本。

最后,在 bash 中运行 FFmpeg-Android.sh。这是一个 bash 脚本,也可以在 zsh 中运行。

捆绑 libarm.so

在 VitamioBundle 中找到文件res/raw/ libarm.so

=> file res/raw/libarm.so 
res/raw/libarm.so: 7-zip archive data, version 0.3

是的,你找到了神奇之处,它是一个 7-zip 文件,所以无论如何都要解压缩它,并用你自己的构建替换每个 libffmpeg.so。

60 <=> armv6
61 <=> vfp
70 <=> armv7
71 <=> neon

最后再次将所有数据归档到libarm.so

来源: https ://www.vitamio.org/en/2013/Tutorial_0509/13.html

于 2013-03-21T06:37:35.413 回答