编译x264:

下载最新版的x264

ftp://ftp.videolan.org/pub/videolan/x264/snapshots/

1.解压到指定的目录

2.切换当前目录为该目录

3.创建一个shell脚本build_x264.sh,内容如下:

NDK= NDK=/home/duizhe/android-ndk-r6(你自己的NDK根目录)

PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt

PLATFORM=$NDK/platforms/android-8/arch-arm (or any other android platform you want)

PREFIX=/home/android-ffmpeg

./configure --prefix=$PREFIX \

--enable-static \

--enable-pic \

--disable-asm \

--disable-cli \

--host=arm-linux \

--cross-prefix=$PREBUILT/linux-x86/bin/arm-linux-androideabi- \

--sysroot=$PLATFORM

make

sudo make install

sudo ldconfig

编译ffmpeg:

下载最新版的ffmpeg

http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2

1.解压到指定的目录

2.切换当前目录为该目录

3.创建一个shell脚本build_ffmpeg.sh,内容如下:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#!/bin/bash
 
export NDK=/home/duizhe/android-ndk-r6
 
export PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt
 
export PLATFORM=$NDK/platforms/android-8/arch-arm
 
export PREFIX=/home/android-ffmpeg
 
function build_one
 
{
 
./configure --target-os=linux --prefix=$PREFIX \
 
--enable-cross-compile \
 
--enable-runtime-cpudetect \
 
--disable-asm \
 
--arch=arm \
 
--cc=$PREBUILT/linux-x86/bin/arm-linux-androideabi-gcc \
 
--cross-prefix=$PREBUILT/linux-x86/bin/arm-linux-androideabi- \
 
--disable-stripping \
 
--nm=$PREBUILT/linux-x86/bin/arm-linux-androideabi-nm \
 
--sysroot=$PLATFORM \
 
--enable-nonfree \
 
--enable-version3 \
 
--disable-everything \
 
--enable-gpl \
 
--disable-doc \
 
--enable-avresample \
 
--enable-demuxer=rtsp \
 
--enable-muxer=rtsp \
 
--disable-ffplay \
 
--disable-ffserver \
 
--enable-ffmpeg \
 
--disable-ffprobe \
 
--enable-libx264 \
 
--enable-encoder=libx264 \
 
--enable-decoder=h264 \
 
--enable-protocol=rtp \
 
--enable-hwaccels \
 
--enable-zlib \
 
--disable-devices \
 
--disable-avdevice \
 
--extra-cflags="-I/home/android-ffmpeg/include -fPIC -DANDROID -D__thumb__ -mthumb -Wfatal-errors -Wno-deprecated -mfloat-abi=softfp -mfpu=vfpv3-d16 -marm -march=armv7-a" \
 
--extra-ldflags="-L/home/android-ffmpeg/lib"
 
make -j4 install
 
$PREBUILT/linux-x86/bin/arm-linux-androideabi-ar d libavcodec/libavcodec.a inverse.o
 
$PREBUILT/linux-x86/bin/arm-linux-androideabi-ld -rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -L$PREFIX/lib  -soname libffmpeg.so -shared -nostdlib  -z,noexecstack -Bsymbolic --whole-archive --no-undefined -o $PREFIX/libffmpeg.so libavcodec/libavcodec.a libavfilter/libavfilter.a libavresample/libavresample.a libavformat/libavformat.a libavutil/libavutil.a libswscale/libswscale.a -lc -lm -lz -ldl -llog -lx264 --warn-once --dynamic-linker=/system/bin/linker $PREBUILT/linux-x86/lib/gcc/arm-linux-androideabi/4.4.3/libgcc.a
 
}
 
build_one

 

编译完成。

 

转自:http://hi.baidu.com/duizhe_memory/item/482e6fd6ccfee7fa93a974be

創作者介紹
創作者 shadow 的頭像
shadow

資訊園

shadow 發表在 痞客邦 留言(0) 人氣()