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拷貝到上面的編譯目錄即可。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM