Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> NDK編譯FFMpeg[Linux],ndk編譯ffmpeglinux

NDK編譯FFMpeg[Linux],ndk編譯ffmpeglinux

編輯:關於android開發

NDK編譯FFMpeg[Linux],ndk編譯ffmpeglinux



     最近在研究視頻直播相關的技術,了解到了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文件和頭文件

clip_image010 

clip_image012

clip_image014

我們只需要把android這個文件夾拷貝到windows環境下即可!

至此,ffmpeg已經編譯完成

下一篇主要記錄下在android開發中如何使用

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved