1. 程式人生 > >Ubuntu ffmpeg編譯

Ubuntu ffmpeg編譯

配置NDK環境

如果沒有配置NDK環境,需要先配置NDK的環境,具體配置可以看Ubuntu 配置Android NDK環境

編譯

接著,從官網下載FFmpeg,選擇Old Releases可下載歷史版本(老版本比較穩定且遇到問題容易在網上找到答案),比如 2.6.9

在這裡插入圖片描述

接著解壓縮,放到任意目錄下 然後新建一個build_android.sh指令碼檔案,內容如下

#!/bin/bash
make clean
export NDK=/home/heiko/Android/ndk/android-ndk-r10e/
export SYSROOT=$NDK/platforms/android-9/arch-arm/
export TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64
export CPU=arm
export PREFIX=$(pwd)/android/$CPU
export ADDI_CFLAGS="-marm"

./configure --target-os=linux \
--prefix=$PREFIX --arch=arm \
--disable-doc \
--enable-shared \
--disable-static \
--disable-yasm \
--disable-symver \
--enable-gpl \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-doc \
--disable-symver \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--enable-cross-compile \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $ADDI_CFLAGS" \
--extra-ldflags="$ADDI_LDFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install

其中,export NDK需要替換為你的NDK路徑,export SYSROOT中的android-9代表著是針對那個Android版本編譯的,要儘可能低,這樣可以相容老版本的Android。

接著給予許可權

chmod -R 777 .  

配置編譯環境

sudo apt install make      
sudo apt install make-guile  

開始編譯

./build_android.sh  

這需要幾分鐘時間,完成後如圖所示

在這裡插入圖片描述

然後,我們可以在ffmpeg目錄下看到一個Android資料夾 在這裡插入圖片描述 可以看到,Android資料夾裡有include資料夾(標頭檔案)和lib資料夾(so檔案),這就是我們開發要使用的檔案,至此,ffmpeg就編譯成功了。

其他