Skip to content

Commit ac48196

Browse files
committed
update the shell of building FFmpeg
update the shell of building FFmpeg
1 parent 3dc207c commit ac48196

1 file changed

Lines changed: 25 additions & 15 deletions

File tree

shell/ffmpeg/build_ffmpeg_one.sh

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ echo "build for 32bit"
1313
#32bit
1414
ABI='armeabi-v7a'
1515
CPU='arm'
16+
API=21
1617
ARCH='arm'
1718
ANDROID='androideabi'
1819
NATIVE_CPU='armv7-a'
@@ -22,20 +23,23 @@ else
2223
echo "build for 64bit"
2324
ABI='arm64-v8a'
2425
CPU='aarch64'
26+
API=21
2527
ARCH='arm64'
2628
ANDROID='android'
2729
NATIVE_CPU='armv8-a'
2830
OPTIMIZE_CFLAGS=""
2931
fi
3032

31-
export NDK=/Users/frank/Library/Android/android-ndk-r15c
33+
export NDK=/Users/xufulong/Library/Android/android-ndk-r15c
3234
export PREBUILT=$NDK/toolchains/$CPU-linux-$ANDROID-4.9/prebuilt
33-
export PLATFORM=$NDK/platforms/android-21/arch-$ARCH
35+
export PLATFORM=$NDK/platforms/android-$API/arch-$ARCH
3436
export TOOLCHAIN=$PREBUILT/darwin-x86_64
3537
export PREFIX=../ffmpeg-android/$ABI
3638
export ADDITIONAL_CONFIGURE_FLAG="--cpu=$NATIVE_CPU"
37-
export EXTRA_CFLAGS="-Os -fpic $OPTIMIZE_CFLAGS"
38-
export EXTRA_LDFLAGS="-lc -lm -ldl -llog -lgcc -lz"
39+
40+
LAMEDIR=$PREFIX
41+
export EXTRA_CFLAGS="-Os -fpic $OPTIMIZE_CFLAGS -I$LAMEDIR/include"
42+
export EXTRA_LDFLAGS="-lc -lm -ldl -llog -lgcc -lz -L$LAMEDIR/lib"
3943

4044
build_one(){
4145
./configure --target-os=linux --prefix=$PREFIX \
@@ -54,9 +58,8 @@ build_one(){
5458
--disable-ffmpeg \
5559
--disable-ffplay \
5660
--disable-ffprobe \
57-
--disable-ffserver \
5861
--disable-debug \
59-
--disable-gpl \
62+
--enable-gpl \
6063
--disable-avdevice \
6164
--disable-indevs \
6265
--disable-outdevs \
@@ -74,20 +77,24 @@ build_one(){
7477
--enable-postproc \
7578
--enable-filters \
7679
--enable-encoders \
80+
--enable-libmp3lame \
81+
--enable-libx264 \
82+
--enable-encoder=libmp3lame,libx264 \
7783
--disable-decoders \
78-
--enable-decoder=mpeg4,h263,h264,flv,gif,hevc,vp9,wmv3,png,jpeg2000,mjpeg,mpeg2video,msmpeg4v2,msmpeg4v3,msvideo1,\
79-
aac,aac_fixed,aac_latm,ac3,ac3_fixed,eac3,m4a,amrnb,amrwb,ape,dolby_e,vc1,flac,opus,vorbis,wmav2,mp3float,mp3,mp3adufloat,\
80-
mp3adu,mp3on4float,mp3on4,pcm_alaw,pcm_dvd,pcm_f16le,pcm_f24le,pcm_f32be,pcm_f32le,pcm_f64be,pcm_f64le,pcm_s16be,pcm_s16le,\
81-
pcm_s24be,pcm_s24le,pcm_s32be,pcm_s32le,pcm_s64be,pcm_s64le,pcm_mulaw,alac,adpcm_ms,pcm_u16be,pcm_u16le,pcm_u24be,pcm_u24le,\
82-
pcm_u32be,pcm_u32le,pcm_vidc,pcm_zork,adpcm_ima_qt,adpcm_ima_wav \
84+
--enable-decoder=mjpeg,mpeg4,h263,h264,flv,hevc,wmv3,msmpeg4v3,msmpeg4v2,msvideo1,vc1,mpeg1video,mpeg2video,\
85+
aac,ac3,ac3_fixed,m4a,amrnb,amrwb,vorbis,wmav2,dca,truehd,tscc,tscc2,dvvideo,msrle,cinepak,indeo5,hq_hqa,\
86+
mp3float,mp3,mp3adufloat,mp3adu,mp3on4float,mp3on4,aac_fixed,aac_latm,eac3,png,wmav1,wmv1,wmv2,\
87+
pcm_alaw,pcm_dvd,pcm_f16le,pcm_f24le,pcm_f32be,pcm_f32le,pcm_f64be,pcm_f64le,zlib,flac,opus,mlp,\
88+
pcm_s16be,pcm_s16le,pcm_s24be,pcm_s24le,pcm_s32be,pcm_s32le,pcm_s64be,pcm_s64le,pcm_mulaw,alac,adpcm_ms,\
89+
pcm_u16be,pcm_u16le,pcm_u24be,pcm_u24le,pcm_u32be,pcm_u32le,pcm_vidc,pcm_zork,adpcm_ima_qt,adpcm_ima_wav \
8390
--enable-muxers \
8491
--enable-parsers \
8592
--enable-protocols \
8693
--disable-demuxers \
87-
--enable-demuxer=aac,ac3,alaw,amr,amrnb,amrwb,ape,asf,asf_o,avi,cavsvideo,codec2,concat,dnxhd,eac3,flac,flv,gif,gif_pipe,\
88-
h263,h264,hevc,hls,image2,image2pipe,jpeg_pipe,lrc,m4v,matroska,webm,mjpeg,mov,mp4,m4a,3gp,mp3,mpeg,mpegts,mv,ogg,png_pipe,\
89-
realtext,rm,rtp,rtsp,s16be,s16le,s24be,s24le,s32be,s32le,sdp,srt,swf,u16be,u16le,u24be,u24le,u32be,u32le,vc1,wav,webm_dash,\
90-
manifest,xmv,f32be,f32le,f64be,f64le,mpegvideo,mulaw,sami,srt \
94+
--enable-demuxer=aac,ac3,alaw,amr,amrnb,amrwb,ape,asf,asf_o,avi,cavsvideo,codec2,concat,dnxhd,eac3,flac,flv,\
95+
gif,gif_pipe,h263,h264,hevc,hls,image2,image2pipe,jpeg_pipe,lrc,m4v,matroska,webm,mjpeg,mov,mp4,m4a,3gp,mp3,mpeg,\
96+
mpegts,mv,ogg,png_pipe,realtext,rm,rtp,rtsp,s16be,s16le,s24be,s24le,s32be,s32le,sdp,srt,swf,u16be,u16le,u24be,\
97+
u24le,u32be,u32le,vc1,wav,webm_dash,manifest,xmv,f32be,f32le,f64be,f64le,mpegvideo,mulaw,sami,srt \
9198
$ADDITIONAL_CONFIGURE_FLAG
9299
make
93100
make install
@@ -96,11 +103,14 @@ $TOOLCHAIN/bin/$CPU-linux-$ANDROID-ld -rpath-link=$PLATFORM/usr/lib -L$PLATFORM/
96103
-L$PREFIX/lib -soname libffmpeg.so \
97104
-shared -nostdlib -Bsymbolic --whole-archive --no-undefined -o $PREFIX/libffmpeg.so \
98105
$PREFIX/lib/libavcodec.a \
106+
$PREFIX/lib/libpostproc.a \
99107
$PREFIX/lib/libavfilter.a \
100108
$PREFIX/lib/libswresample.a \
101109
$PREFIX/lib/libavformat.a \
102110
$PREFIX/lib/libavutil.a \
103111
$PREFIX/lib/libswscale.a \
112+
$PREFIX/lib/libmp3lame.a \
113+
$PREFIX/lib/libx264.a \
104114
-lc -lm -lz -ldl -llog --dynamic-linker=/system/bin/linker $TOOLCHAIN/lib/gcc/$CPU-linux-$ANDROID/4.9.x/libgcc.a
105115
}
106116

0 commit comments

Comments
 (0)