Skip to content

Commit ca78671

Browse files
committed
update the shell of FFmpeg
update the shell of FFmpeg
1 parent b294a99 commit ca78671

2 files changed

Lines changed: 106 additions & 52 deletions

File tree

shell/ffmpeg/build_ffmpeg_one.sh

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
make clean
2+
cd compat
3+
rm -rf strtod.d
4+
rm -rf strtod.o
5+
cd ../
6+
7+
set -e
8+
9+
archbit=32
10+
11+
if [ $archbit -eq 32 ];then
12+
echo "build for 32bit"
13+
#32bit
14+
ABI='armeabi-v7a'
15+
CPU='arm'
16+
ARCH='arm'
17+
ANDROID='androideabi'
18+
NATIVE_CPU='armv7-a'
19+
OPTIMIZE_CFLAGS="-march=$NATIVE_CPU -mcpu=cortex-a8 -mfpu=vfpv3-d16 -mfloat-abi=softfp -mthumb"
20+
else
21+
#64bit
22+
echo "build for 64bit"
23+
ABI='arm64-v8a'
24+
CPU='aarch64'
25+
ARCH='arm64'
26+
ANDROID='android'
27+
NATIVE_CPU='armv8-a'
28+
OPTIMIZE_CFLAGS=""
29+
fi
30+
31+
#export NDK=/Users/xufulong/Library/Android/sdk/ndk-bundle
32+
export NDK=/Users/xufulong/Library/Android/android-ndk-r10e
33+
export PREBUILT=$NDK/toolchains/$CPU-linux-$ANDROID-4.9/prebuilt
34+
export PLATFORM=$NDK/platforms/android-21/arch-$ARCH
35+
export TOOLCHAIN=$PREBUILT/darwin-x86_64
36+
export PREFIX=../ffmpeg-android/$ABI
37+
export ADDITIONAL_CONFIGURE_FLAG="--cpu=$NATIVE_CPU"
38+
export EXTRA_CFLAGS="-Os -fpic $OPTIMIZE_CFLAGS"
39+
export EXTRA_LDFLAGS="-lc -lm -ldl -llog -lgcc -lz"
40+
41+
build_one(){
42+
./configure --target-os=linux --prefix=$PREFIX \
43+
--enable-cross-compile \
44+
--arch=$CPU \
45+
--cc=$TOOLCHAIN/bin/$CPU-linux-$ANDROID-gcc \
46+
--cross-prefix=$TOOLCHAIN/bin/$CPU-linux-$ANDROID- \
47+
--sysroot=$PLATFORM \
48+
--enable-neon \
49+
--enable-hwaccels \
50+
--enable-static \
51+
--disable-shared \
52+
--disable-doc \
53+
--enable-asm \
54+
--enable-small \
55+
--disable-ffmpeg \
56+
--disable-ffplay \
57+
--disable-ffprobe \
58+
--disable-ffserver \
59+
--disable-debug \
60+
--disable-gpl \
61+
--disable-avdevice \
62+
--disable-indevs \
63+
--disable-outdevs \
64+
--disable-avresample \
65+
--extra-cflags="$EXTRA_CFLAGS" \
66+
--extra-ldflags="$EXTRA_LDFLAGS" \
67+
--enable-avcodec \
68+
--enable-avformat \
69+
--enable-avutil \
70+
--enable-swresample \
71+
--enable-swscale \
72+
--enable-avfilter \
73+
--enable-network \
74+
--enable-bsfs \
75+
--enable-postproc \
76+
--enable-filters \
77+
--enable-encoders \
78+
--disable-decoders \
79+
--enable-decoder=mpeg4,h264,flv,gif,hevc,vp9,wmv3,png,ljpeg,jpeg2000,mjpeg,\
80+
aac,m4a,amrnb,amrwb,ape,dolby_e,dst,flac,opus,vorbis,wavesynth,wavpack,wmav2,\
81+
mp3float,mp3,mp3_at,mp3adufloat,mp3adu,mp3on4float,mp3on4,aac_fixed,aac_at,aac_latm,pcm_s16be,pcm_s16le \
82+
--enable-muxers \
83+
--enable-parsers \
84+
--enable-protocols \
85+
--disable-demuxers \
86+
--enable-demuxer=aac,ac3,amr,amrnb,amrwb,ape,asf,asf_o,ast,avi,caf,cavsvideo,codec2,concat,data,dnxhd,flac,flv,g722,g729,\
87+
gif,gif_pipe,h264,hevc,hls,image2,image2pipe,ingenient,jpeg_pipe,lavfi,lrc,m4v,matroska,webm,mjpeg,mov,mp4,m4a,3gp,mp3,mpeg,\
88+
mpegts,mv,ogg,png_pipe,realtext,rm,rtp,rtsp,s16be,s16le,s24be,s24le,s32be,s32le,sdp,srt,swf,u16be,u16le,u24be,u24le,u32be,u32le,\
89+
vc1,wav,webm_dash,manifest,xmv,f32be,f32le,f64be,f64le \
90+
$ADDITIONAL_CONFIGURE_FLAG
91+
make
92+
make install
93+
94+
$TOOLCHAIN/bin/$CPU-linux-$ANDROID-ld -rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib \
95+
-L$PREFIX/lib -soname libffmpeg.so \
96+
-shared -nostdlib -Bsymbolic --whole-archive --no-undefined -o $PREFIX/libffmpeg.so \
97+
$PREFIX/lib/libavcodec.a \
98+
$PREFIX/lib/libavfilter.a \
99+
$PREFIX/lib/libswresample.a \
100+
$PREFIX/lib/libavformat.a \
101+
$PREFIX/lib/libavutil.a \
102+
$PREFIX/lib/libswscale.a \
103+
-lc -lm -lz -ldl -llog --dynamic-linker=/system/bin/linker $TOOLCHAIN/lib/gcc/$CPU-linux-$ANDROID/4.9/libgcc.a
104+
}
105+
106+
build_one

shell/ffmpeg/build_ffmpeg_onelib.sh

Lines changed: 0 additions & 52 deletions
This file was deleted.

0 commit comments

Comments
 (0)