Android使用ffmpeg(一)

Ubuntu下編譯ffmpeg

準備

因為不想用虛擬機或者雙系統(tǒng),感覺麻煩,所以用的騰訊云服務器。

云服務器是騰訊活動99元/年買的,配置登陸名密碼什么的自己看著配置。


配置

別問為什么配置這么垃圾,沒辦法,窮。

Xshell6 和 Xftp安裝

Xshell和Xftp個人免費下載鏈接


Xshell和Xftp下載


Xshell6

使用Xshell的會話管理器,可以輕松地從主窗口同時創(chuàng)建、編輯和啟動多個會話。定義多個會話屬性來確定每個會話的行為。簡單點說,我們可以用這個Xshell6進行登陸服務器操作,我反正不喜歡在網(wǎng)頁上操作。

打開Xshell6,左上角文件--->新建,然后回到云服務器信息網(wǎng)頁找到公網(wǎng)IP,填入,填入完成,選擇確定或者連接。



公網(wǎng)IP


Xshell6連接信息

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


XFTP:

用來在本地系統(tǒng)與云服務器之間文件管理簡化

Xftp打開之后左上角 文件-->新建 ,填入之后選擇確定或者連接


Xftp連接

點擊連接登陸成功


Xftp連接成功



Linux下常用操作大全

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


ffmpeg解壓完畢

配置NDK的環(huán)境變量

設置環(huán)境變量的三種用法

使用命令vim ~/.bashrc?進入到環(huán)境變量配置文件進行編輯?

添加 :

export NDKROOT=ndk的路徑

export PATH=$NDKROOT:$PATH


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


ndk配置成功

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í)行


賦予權限并執(zhí)行

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

等待好久


編譯完畢

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

錯誤列表

make環(huán)境沒有安裝

錯誤1

解決辦法:安裝make環(huán)境.?

命令:阿里云下: yum install make

其它支持apt命令的可以用 apt-get install make


安裝make環(huán)境

版本過高


沒有安裝gcc編譯器


s
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 上一篇:Android-Sip_開發(fā)介紹(1) 講了這么多廢話,上一點干貨吧,這篇我們主要講的是Android S...
    Z_Liqiang閱讀 5,399評論 5 6
  • 我從不買彩票,因為我是一個看F1的人,多年的F1經(jīng)驗告訴我,人品是守恒的。假如哪天我買彩票中了大獎,這輩子的人品也...
    解放村樂隊隊長閱讀 388評論 0 4
  • 又是一個除夕夜,跟以前經(jīng)過的n個除夕夜,并沒有什么不同。 不過是又忙忙碌碌了一個下午,招待完家里人再收拾干凈,已經(jīng)...
    李吉華閱讀 497評論 0 5
  • 好漂亮吼吼吼!
    衛(wèi)校一五護二閱讀 115評論 0 0

友情鏈接更多精彩內容