本文討論制作全格式多媒體播放器的第一步:ffmpeg 移植。
第一步:得到別人已經(jīng)移植過(guò)的一個(gè)比較舊的android平臺(tái)上的ffmpeg。地址為 http://gitorious.org/~olvaffe/ffmpeg/ffmpeg-android ,我們將使用其*.mk 文件。我將此源碼放到一個(gè)臨時(shí)目錄中。
第二步:得到新版本的ffmpeg。地址為 http://ffmpeg.org/download.html 。一般用git clone 得到。我將源碼放到了android源碼樹(shù)的external/目錄下。
第三步:configure ffmpeg ,目的是得到android平臺(tái)上的config.mak和config.h文件。所以只需要configure成功即可,不必編譯,稍候我們會(huì)在android源碼樹(shù)下編譯。
export PREBUILT=/home/Dev/android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0
./configure --target-os=linux
--arch=armv41
--enable-cross-compile
--cc=$PREBUILT/bin/arm-eabi-gcc
--cross-prefix=$PREBUILT/bin/arm-eabi-
--nm=$PREBUILT/bin/arm-eabi-nm
--extra-cflags="-fPIC -DANDROID"

--enable-static
--disable-shared
--disable-asm
--disable-yasm
--prefix=`pwd`/android_bin
--extra-ldflags="-Wl,-T,$PREBUILT/arm-eabi/lib/ldscripts/armelf.x -Wl,-rpath-link=/home/Dev/android/out/target/product/generic/obj/lib -L/home/Dev/android/out/target/product/generic/obj/lib -nostdlib $PREBUILT/lib/gcc/arm-eabi/4.4.0/crtbegin.o $PREBUILT/lib/gcc/arm-eabi/4.4.0/crtend.o -lc -lm -ldl"
解釋一下,PREBUILT為我的android編譯器路徑,我使用的是android源碼樹(shù)下的tool-chian。configure命令中除了目錄可能不一樣外,其他的應(yīng)該不需要做改動(dòng)。
第四步:將臨時(shí)目錄中的ffmpeg-android下的*.mk拷貝到android源碼樹(shù)的external/ffmpeg目錄下。這樣就完成了移植。(這一步中,可能需要做修改,我將需要修改的文件打了個(gè)包,放在附件中)
第五步:在android目錄下make libavutil libavcodec libavformat libswscale。
注:我已經(jīng)基于最新的ffmpeg(0.6版本-git-6157eab)做的改動(dòng)上傳了。你只需要將附件解壓,并替換源ffmpeg中相應(yīng)的文件,即可直接執(zhí)行第五步。
文件:changes.tar.bz2
大小:16KB
下載:下載
發(fā)表于: 2010-09-21,修改于: 2010-12-10 14:01,已瀏覽638次,有評(píng)論2條 推薦 投訴
愛(ài)華網(wǎng)本文地址 » http://www.klfzs.com/a/25101011/59983.html
愛(ài)華網(wǎng)

