ubuntu移植FFmpeg到Android平臺(tái)

原CSDN博客地址
http://blog.csdn.net/byhook/article/details/50168049

筆者生產(chǎn)環(huán)境是ubuntu14.04.2
一直都聽說(shuō)FFmpeg很強(qiáng)大很暴力
但一直都沒時(shí)間研究沉淀
今天心血來(lái)潮,決定試試看
上正文
首先下載FFmpeg源代碼
官方地址
Github地址
1.首先修改configure文件

去除后綴名之后的版本號(hào)

修改前

當(dāng)然了可以寫成一個(gè)Shell腳本librename.sh

dot="'"

SLIBNAME_WITH_MAJOR=(LIBNAME_WITH_MAJOR=$dot'$(SLIBNAME).$(LIBMAJOR)'$dot)
SLIBNAME_WITH_MAJOR_REP=(LIBNAME_WITH_MAJOR=$dot'$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'$dot)
SLIB_INSTALL_NAME=(SLIB_INSTALL_NAME=$dot'$(SLIBNAME_WITH_VERSION)'$dot)
SLIB_INSTALL_NAME_REP=(SLIB_INSTALL_NAME=$dot'$(SLIBNAME_WITH_MAJOR)'$dot)
SLIB_INSTALL_LINKS=(SLIB_INSTALL_LINKS=$dot'$(SLIBNAME_WITH_MAJOR)\s$(SLIBNAME)'$dot)
SLIB_INSTALL_LINKS_REP=(SLIB_INSTALL_LINKS=$dot'$(SLIBNAME)'$dot)

sed -i 's/'$SLIBNAME_WITH_MAJOR'/'$SLIBNAME_WITH_MAJOR_REP'/g' configure
sed -i 's/'$SLIB_INSTALL_NAME'/'$SLIB_INSTALL_NAME_REP'/g' configure
sed -i 's/'$SLIB_INSTALL_LINKS'/'$SLIB_INSTALL_LINKS_REP'/g' configure

2.編寫腳本文件build.sh

NDK=/work/android-ndk-r10e
SYSROOT=$NDK/platforms/android-9/arch-arm/  
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64  
  
function build_one  
{  
  ./configure \
   --prefix=$PREFIX \
   --enable-shared \
   --disable-static \
   --disable-yasm \
   --disable-doc \
   --disable-ffserver \
   --enable-cross-compile \
   --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
   --target-os=linux \
   --arch=arm \
   --sysroot=$SYSROOT \
   --extra-cflags="-Os -fpic $ADDI_CFLAGS" \
   --extra-ldflags="$ADDI_LDFLAGS" \
   $ADDITIONAL_CONFIGURE_FLAG
}  
CPU=arm  
PREFIX=~/ffmpeg/$CPU  
ADDI_CFLAGS="-marm"  
build_one  

注意NDK,SYSROOT,TOOLCHAIN換成自己本機(jī)的地址
添加build.sh的權(quán)限

chmod -R 777 build.sh

執(zhí)行

./build.sh

如果出現(xiàn)

WARNING: /work/android-ndk-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-pkg-config not found, library detection may fail.

可以忽略
然后執(zhí)行

make
make install

接著在目錄

~/ffmpeg/arm

就有我們需要的文件

drwxrwxr-x 2 byhook byhook 4096 12月  3 23:58 bin
drwxrwxr-x 9 byhook byhook 4096 12月  3 23:58 include
drwxrwxr-x 3 byhook byhook 4096 12月  3 23:58 lib
drwxrwxr-x 3 byhook byhook 4096 12月  3 23:58 share

最新編譯方案
FFmpeg合并為一個(gè)庫(kù)
http://blog.csdn.net/byhook/article/details/51971652

參考
http://blog.csdn.net/gobitan/article/details/22750719

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

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,234評(píng)論 25 708
  • 在此特此聲明:一下所有鏈接均來(lái)自互聯(lián)網(wǎng),在此記錄下我的查閱學(xué)習(xí)歷程,感謝各位原創(chuàng)作者的無(wú)私奉獻(xiàn) ! 技術(shù)一點(diǎn)一點(diǎn)積...
    遠(yuǎn)航的移動(dòng)開發(fā)歷程閱讀 11,552評(píng)論 12 197
  • 最新實(shí)踐android全平臺(tái)編譯ffmpeg以及x264與fdk-aac實(shí)踐 之前記錄過(guò)一篇編譯FFmpeg的文章...
    Andy周閱讀 2,883評(píng)論 3 7
  • 文/遠(yuǎn)馬 看《親愛的安德烈》,讀到安德烈與自己的小伙伴路易斯關(guān)于沖突和認(rèn)同的一段話。 沒有沖突,就沒有認(rèn)同。 這句...
    遠(yuǎn)馬閱讀 233評(píng)論 1 1
  • Cookie 是什么 Cookie 的分類 如何設(shè)置 Cookie 如何讀取 Cookie Cookie 的使用場(chǎng)...
    小松鼠hust閱讀 338評(píng)論 0 0

友情鏈接更多精彩內(nèi)容