想编译一个Android可用的二进制文件(要求:支持libx264/liblamemp3)
github资源:
1.首先编译一个带lame库的ffmpeg
https://github.com/aksalj/ffmpeg-android
好了一次编译通过这个包之后你会发现多了ffmpeg、 ffmplay等二进制文件,关键是参考这边的配置文件confi.sh,这个达不到楼主的需要我们还需要libx264包
2.先下载下面的 资源文件
包含@x264的资源包 如果想要省事,请直接 git clone xxxx -recursive(迭代下载所有引用资源文件)
https://github.com/Cheers-Dev/android-ffmpeg
3.拷贝x264包到步骤一中的根目录
拷贝old下的config_x264.sh 和 make_x264.sh到步骤一目录并分别执行下 这样x264目录下会产生x264.a的静态文件留待下一步编译使用
4.修改config.sh
--extra-ldflags=" -L${ARM_LIB} -L${MP3LAME}/lib" 修改为
--extra-ldflags=" -L${ARM_LIB} -L${MP3LAME}/lib -L../x264"
同理增加cflag参数: --extra-cflags=" -I../x264"
放开libx264
-enable libx264
-enable statics
-disable shared
-disable ffmplay
-enable ffmpeg
ok,执行编译 如无意外您在 build/bin下面会发现 期待已久的ffmpeg大概12M左右
注意:由于这是在win下发的博客,所以配置文件没有详细贴出,
在这里我只是提供下我的解决思路,祝大家好运!
参考文档:-qscale的用法
https://trac.ffmpeg.org/wiki/Encode/MPEG-4
freetype2 not fond error! (下面给出了解决方案)
https://github.com/jdpxiaoming/ffmpeg-android
安卓的用法 /data/data/com.xx.xx/ffmpeg -y -%03d.jpeg ...
注意及错误处理:
1)ERROR: libmp3lame >= 3.98.3 not found
编译器环境为 对应的platform/aroid-9/arch-arm/usr (lib/include)
将我们的 lame对应头文件和.a拷贝到上面的编译目录即可。