Ubuntu下編譯ffmpeg
準備
因為不想用虛擬機或者雙系統(tǒng),感覺麻煩,所以用的騰訊云服務器。
云服務器是騰訊活動99元/年買的,配置登陸名密碼什么的自己看著配置。

別問為什么配置這么垃圾,沒辦法,窮。
Xshell6 和 Xftp安裝

Xshell6
使用Xshell的會話管理器,可以輕松地從主窗口同時創(chuàng)建、編輯和啟動多個會話。定義多個會話屬性來確定每個會話的行為。簡單點說,我們可以用這個Xshell6進行登陸服務器操作,我反正不喜歡在網(wǎng)頁上操作。
打開Xshell6,左上角文件--->新建,然后回到云服務器信息網(wǎng)頁找到公網(wǎng)IP,填入,填入完成,選擇確定或者連接。


點擊連接之后,輸入用戶名和密碼登陸成功

XFTP:
用來在本地系統(tǒng)與云服務器之間文件管理簡化
Xftp打開之后左上角 文件-->新建 ,填入之后選擇確定或者連接

點擊連接登陸成功

Linux下常用操作大全
開始配置編譯環(huán)境
我這邊騰訊云配好了,不想重復弄,趁阿里云還有幾天,所以在阿里云上重新編譯
創(chuàng)建一個自己的文件夾,mkdir filename
然后進入這個文件夾,創(chuàng)建一個ndk文件夾和ffmpeg文件夾,并賦予權限可以進行一些比如解壓縮之類的操作

分別下載NDK和FFMPEG
Linux版本NDK下載鏈接
FFMPEG?下載鏈接
可以從官網(wǎng)直接下載版本,也可以直接在ubuntu下下載,這里在ubuntu下下載
下載NDK
進入ndk文件夾下,輸入命令開始下載
wget https://dl.google.com/android/repository/android-ndk-r14b-linux-x86_64.zip
!如果要下載其它版本的,只需要更改下載鏈接中的ndk版本號,即r14c即可
下載完成后根據(jù)下載的文件格式進行解壓縮
unzip?android-ndk-r14b-linux-x86_64.zip

解壓縮命令:

下載FFMPEG
進入ffmpeg文件夾下,輸入鏈接開始下載
wget http://ffmpeg.org/releases/ffmpeg-3.4.tar.gz
!如果要下載其它版本的,只需要更改下載鏈接中的ffmpeg版本號,即3.4即可,為避免鏈接錯誤,可去ffmpeg下載地址查看具體文件名
下載完成后根據(jù)下載的文件格式進行解壓縮
tar -zxvf?ffmpeg-3.4.tar.gz

配置NDK的環(huán)境變量
使用命令vim ~/.bashrc?進入到環(huán)境變量配置文件進行編輯?
添加 :
export NDKROOT=ndk的路徑
export PATH=$NDKROOT:$PATH

添加完成保存退出,使用命令source ~/.bashrc更新環(huán)境變量,ndk-build -v?查看是否配置成功

NDK環(huán)境變量配置完成
開始編譯FFMPEG
進入ffmpeg文件夾下,在根目錄創(chuàng)建ffmpeg_build.sh, ffmpeg版本大于3.4不需要更改configure文件
echo "進入編譯ffmpeg"
export NDK=/home/clemence/kirito/ndk/android-ndk-r14b
#架構下的so庫和頭文件
export PLATFORM=$NDK/platforms/android-21/arch-arm
#交叉編譯工具 誰來用,用在哪
export TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
export CPU=armv7-a
#輸出路徑
export PREFIX=./android/$CPU
function buildFF
{
echo "開始編譯...."
./configure \
? ? --prefix=$PREFIX \
? ? --target-os=android \
? ? --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
? ? --arch=arm \
? ? --cpu=armv7-a? \
? ? --sysroot=$PLATFORM \
? ? --extra-cflags="-I$PLATFORM/usr/include -fPIC -DANDROID -mfpu=neon -mfloat-abi=softfp " \
? ? --cc=$TOOLCHAIN/bin/arm-linux-androideabi-gcc \
? ? --nm=$TOOLCHAIN/bin/arm-linux-androideabi-nm \
? ? --enable-shared \
? ? --enable-runtime-cpudetect \
? ? --enable-gpl \
? ? --enable-small \
? ? --enable-cross-compile \
? ? --enable-asm \
? ? --enable-neon \
? ? --enable-jni \
? ? --enable-mediacodec \
? ? --enable-decoder=h264_mediacodec \
? ? --enable-hwaccel=h264_mediacodec \
? ? --disable-debug \
? ? --disable-static \
? ? --disable-doc \
? ? --disable-ffmpeg \
? ? --disable-ffplay \
? ? --disable-ffprobe \
? ? --disable-ffserver \
? ? --disable-postproc \
? ? --disable-avdevice \
? ? --disable-symver \
? ? --disable-stripping
make -j8
make install
echo "編譯完畢"
}
buildFF

給ffmpeg_build.sh賦予權限并執(zhí)行

沒有錯誤,就開始編譯,等著吧


ffmpeg文件夾下生成android文件夾編譯成功

錯誤列表
make環(huán)境沒有安裝

解決辦法:安裝make環(huán)境.?
命令:阿里云下: yum install make
其它支持apt命令的可以用 apt-get install make

版本過高

沒有安裝gcc編譯器
