編輯:關於android開發
最近在研究視頻直播相關的技術,了解到了FFmpeg,就在網上查看如何將FFmpeg移植到Android中,查了幾天,看的東西不少,就是沒有一個可以完全移植成功的,最後通過產看各種資料,結合網上的資料,終於把FFmpeg給搞定了。在此記錄一下。
整體構思:
在Centos7.5下搭建NDk編譯環境,編譯FFmpeg庫,生成Android所需要的庫文件,然後在Android中使用
准備工作:
1、在虛擬機中安裝Centos系統
2、下載NDK
linux 32 bit
http://dl.google.com/android/ndk/android-ndk-r10d-linux-x86.bin
linux 64 bit
http://dl.google.com/android/ndk/android-ndk-r10d-linux-x86_64.bin
3、下載FFmpeg源碼
下載地址:http://www.ffmpeg.org/download.html
在Centos /usr/local下新建文件夾ndk,將android-ndk-r10d-linux-x86_64.bin和FFmpeg源碼上傳改該文件夾。
NDK=/usr/ndk/android-ndk-r10d
SYSROOT=$NDK/platforms/android-9/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64
function build_one
{
./configure \
--prefix=$PREFIX \
--enable-shared \
--disable-static \
--disable-doc \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-avdevice \
--disable-doc \
--disable-symver \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--target-os=linux \
--arch=arm \
--enable-cross-compile \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $ADDI_CFLAGS" \
--extra-ldflags="$ADDI_LDFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install
}
CPU=arm
PREFIX=$(pwd)/android/$CPU
ADDI_CFLAGS="-marm"
build_one
NDK為NDK的安裝路徑
編譯FFmpeg
[root@localhost ffmpeg]# chmod a+x *
[root@localhost ffmpeg]# ./config_android.sh
這個過程如果不報錯,就會等很長一段時間,等待結束後ffmpeg文件夾下會多出一個android文件夾,裡面包含了ffmpeg的.so文件和頭文件
我們只需要把android這個文件夾拷貝到windows環境下即可!
至此,ffmpeg已經編譯完成
下一篇主要記錄下在android開發中如何使用
Android 手機衛士--導航界面3、4和功能列表界面跳轉邏輯處理,android4和剛剛花了一點時間,將導航界面3、4的布局和相應的跳轉邏輯寫了一下: Setup3
Android之QQ新用戶注冊界面1,android新用戶注冊還沒到睡覺時間所以再加了一個界面... 問題: 1、下拉列表(因為還沒看到這裡...) 2、標題欄顯示問題
使用Kotlin開發Android應用 1、Kotlin介紹 [Kotlin](https://kotlinlang.org/) Kotlin是一門基於JVM的
Android中View自定義XML屬性詳解以及R.attr與R.styleable的區別 為View添加自定義XML屬性 Android中的各種Widget都提供了
Android APP 讀取 AndroidManifest.xml 中