国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

FFmpeg開發(fā)筆記(八)Linux交叉編譯Android的FFmpeg庫

這篇具有很好參考價值的文章主要介紹了FFmpeg開發(fā)筆記(八)Linux交叉編譯Android的FFmpeg庫。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

?《FFmpeg開發(fā)實戰(zhàn):從零基礎到短視頻上線》一書的“12.1.2 ?交叉編譯Android需要的so庫”介紹了如何在Windows環(huán)境交叉編譯Android所需FFmpeg的so庫,接下來介紹如何在Linux環(huán)境交叉編譯Android所需FFmpeg的so庫。

1、下載Linux版本的android-ndk-r21e

登錄Linux服務器(比如華為云的歐拉系統),依次執(zhí)行下面的命令。

cd /usr/local/src
curl -O https://dl.google.com/android/repository/android-ndk-r21e-linux-x86_64.zip
unzip android-ndk-r21e-linux-x86_64.zip

2、上傳FFmpeg相關庫的源碼

重新解壓FFmpeg相關庫的源碼,包括FFmpeg、x264、freetype、lame等,并修改FFmpeg相關庫的sh文件(包括config_x264.sh、config_freetype.sh、config_lame.sh、config_ffmpeg_full.sh,這幾個sh文件見《FFmpeg開發(fā)實戰(zhàn):從零基礎到短視頻上線》隨書源碼的chapter12目錄)。修改內容如下:
(1)把幾個sh文件里的下面這行

SYSTEM=windows-x86_64

改為下面這行,也就是把“windows”替換為“l(fā)inux”

SYSTEM=linux-x86_64

(2)去掉幾個sh文件里的回車符
使用文本編輯軟件UltraEdit可以去掉回車符,去除方式有兩種,一種是把“^p”替換為“^n”;另一種是依次選擇菜單:文件→轉換→DOS轉UNIX,因為UNIX文件格式不用回車符。
另外,記得給幾個sh文件賦予可執(zhí)行權限,也就是執(zhí)行下面命令:

chmod +x config_*.sh

3、編譯x264庫的源碼

在編譯x264源碼之前,要先修改x264的configure文件。與在Windows環(huán)境交叉編譯相比,Linux系統在編譯x264前只要修改configure,不用改Makefile。
打開x264-master目錄下的configure文件,把下面這行(一共有一模一樣的兩行,兩行都要改,別漏了)

? ? echo "SONAME=libx264.so.$API" >> config.mak

改為下面這行:

? ? echo "SONAME=libx264.so" >> config.mak

保存并退出configure文件,再依次執(zhí)行下面的編譯命令:

./config_x264.sh
make -j4
make install

4、編譯其他第三方庫的源碼

FFmpeg用到的其他第三方庫包括freetype、lame等,這幾個庫的編譯命令如下(注意把xxx換成對應的庫名):

./config_xxx.sh
make -j4
make install

5、配置環(huán)境變量PKG_CONFIG_PATH

Windows的profile文件位于msys安裝目錄下面的/etc/profile,而Linux的profile文件位于用戶初始目錄的.bash_profile。往.bash_profile的文件末尾添加下面兩行:

export PKG_CONFIG_PATH=/usr/local/app_x264/lib/pkgconfig:$PKG_CONFIG_PATH
export PKG_CONFIG_PATH=/usr/local/app_freetype/lib/pkgconfig:$PKG_CONFIG_PATH

保存并退出.bash_profile之后,執(zhí)行以下命令加載環(huán)境變量:

source .bash_profile

6、編譯FFmpeg庫的源碼

進入FFmpeg的源碼目錄,依次執(zhí)行下面的配置、編譯和安裝命令:

./config_ffmpeg_full.sh
make -j4
make install

編譯完成后,即可在/usr/local/app_xxx/bin(xxx為每個庫的庫名)目錄下找到生成的so文件,把這些so文件復制到App工程的src\main\jniLibs\arm64-v8a目錄下,此后App工程的配置、編譯和運行說明同《FFmpeg開發(fā)實戰(zhàn):從零基礎到短視頻上線》的“12.1.3 ?App工程調用FFmpeg的so庫”。文章來源地址http://www.zghlxwxcb.cn/news/detail-842947.html

?

到了這里,關于FFmpeg開發(fā)筆記(八)Linux交叉編譯Android的FFmpeg庫的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包