帮助文档

Help documentation

如何在Vitamio中使用自己编译的FFmpeg

环境要求 

Vitamio 3.0是使用Android NDK r8b版本编译生成的,所以建议也使用此版本的NDK编译您改写过的FFmpeg,根据开发者的反馈,使用其它版本的NDK可能导致很多问题甚至崩溃。

编译生成FFmpeg 

首先,从我们的GitHub网址:http://github.com/yixia/FFmpeg-Android 下载一份FFmpeg-Android库的拷贝,根据自己的需求对 FFmpeg-Android.sh 进行适当修改。

最常见的场景是编译FFmpeg中你的程序需要的某几个特定模块,其它大部分不需要动。这种情况下,只需要在shell脚本下修改 FFMPEG_FLAGS ,所有可用参数都在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替换其中原来的每个libffmpeg.so。

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

最后,将替换后的数据照原样重新打包成libarm.so即可。

© 2011-2013 Xuan Yi Xia Inc. All rights reserved