FFMpeg那些事——独立运行的二进制文件ffmpeg编译

想编译一个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拷贝到上面的编译目录即可。

 

原文地址:https://www.cnblogs.com/poe-blog/p/4269950.html