2011-05-11 7 views
1

Existe-t-il une option pour compiler dynamiquement FFMPEG sous le ARM (Android NDK)? (J'ai trouvé seulement des articles sur la compilation statique) Et la deuxième question: lors de la construction de FFMPEG je ne trouve pas les fichiers Makefile.am. Peuvent-ils en quelque sorte l'obtenir?Android Compilation croisée ffmpeg

+0

hey .. avez-vous obtenu grâce à ce genre de choses? Je travaille exactement sur la même chose. J'ai suivi la réponse à cette question mais je suis resté bloqué à un moment donné. peux-tu m'aider? –

Répondre

2

J'ai choisi cette chaîne d'outils pour plus couramment utilisé 4.4.0 de gcc lors de la compilation comme la plupart des produits linux bras utiliser, vous pouvez changer à votre goût, je ne sais pas si cela va fonctionner avec des substitutions donc s'il vous plaît ne demande pas. J'ai couru la commande ./configure des centaines de fois avant que j'aie obtenu une construction succssful. Par conséquent, je partage ce qui a fonctionné peut-être cela vous aidera.

En utilisant UBUNTU 32 bits 10.04.03 à VirtuaBox Invité/machine hôte est Vista 64

changement <USERNAME> à vos utilisateurs sous Linux Nom

mkdir /home/<USERNAME>/applications 
cd /home/<USERNAME>/applications 
wget http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2 
wget http://ffmpeg.org/releases/ffmpeg-0.8.7.tar.bz2 
tar -xjf android-ndk-r5b-linux-x86.tar.bz2 
tar -xjf ffmpeg-0.8.7.tar.bz2 
mv ffmpeg-0.8.7 ffmpeg 

NDK=/home/<USERNAME>/applications/android-ndk-r5b 
$NDK/build/tools/make-standalone-toolchain.sh --platform=android-8 --toolchain=arm-eabi-4.4.0 --install-dir=/home/<USERNAME>/applications/droidtooleabi 

cd ffmpeg 
export PATH=/home/<USERNAME>/applications/droidtooleabi/bin:$PATH 
export CC=arm-linux-androideabi-gcc 
./configure \ 
--target-os=linux \ 
--cross-prefix=arm-eabi- \ 
--arch=arm \ 
--enable-small \ 
--disable-armvfp \ 
--prefix=../build/ffmpeg \ 
--disable-encoders \ 
--disable-decoders \ 
--disable-protocols \ 
--disable-muxers \ 
--disable-demuxers \ 
--disable-parsers \ 
--disable-devices \ 
--enable-decoder=mp3 \ 
--enable-decoder=vorbis \ 
--enable-decoder=alac \ 
--enable-decoder=mpeg4 \ 
--enable-decoder=vp8 \ 
--enable-decoder=flac \ 
--enable-decoder=pcm_s8 \ 
--enable-decoder=pcm_u8 \ 
--enable-decoder=h264 \ 
--enable-decoder=h263 \ 
--enable-encoder=adpcm_swf \ 
--enable-decoder=adpcm_swf \ 
--enable-encoder=nellymoser \ 
--enable-decoder=nellymoser \ 
--enable-encoder=flv \ 
--enable-decoder=flv \ 
--enable-encoder=aac \ 
--enable-decoder=aac \ 
--enable-decoder=amrnb \ 
--enable-decoder=amrwb \ 
--enable-encoder=pcm_s16le \ 
--enable-decoder=pcm_s16le \ 
--enable-muxer=amr \ 
--enable-demuxer=amr \ 
--enable-muxer=flv \ 
--enable-demuxer=flv \ 
--enable-muxer=pcm_s16le \ 
--enable-demuxer=pcm_s16le \ 
--enable-muxer=wav \ 
--enable-demuxer=wav \ 
--enable-muxer=matroska \ 
--enable-demuxer=matroska \ 
--enable-muxer=matroska_audio \ 
--enable-demuxer=matroska_audio \ 
--enable-muxer=m4v \ 
--enable-demuxer=m4v \ 
--enable-muxer=mov \ 
--enable-demuxer=mov \ 
--enable-muxer=h263 \ 
--enable-demuxer=h263 \ 
--enable-muxer=h264 \ 
--enable-demuxer=h264 \ 
--enable-muxer=webm \ 
--enable-demuxer=webm \ 
--enable-muxer=ogg \ 
--enable-demuxer=ogg \ 
--enable-muxer=flac \ 
--enable-demuxer=flac \ 
--enable-muxer=mpegts \ 
--enable-demuxer=mpegts \ 
--enable-muxer=mpegtsraw \ 
--enable-demuxer=mpegtsraw \ 
--enable-muxer=aac \ 
--enable-demuxer=aac \ 
--enable-parser=aac \ 
--enable-parser=h263 \ 
--enable-parser=h264 \ 
--enable-parser=vp8 \ 
--enable-parser=mpegvideo \ 
--enable-parser=mpegaudio \ 
--enable-parser=mpeg4video \ 
--enable-parser=flac \ 
--enable-protocol=rtmps \ 
--enable-protocol=rtmpt \ 
--enable-protocol=crypto \ 
--enable-protocol=rtmpte \ 
--enable-protocol=file \ 
--enable-protocol=pipe \ 
--enable-protocol=rtp \ 
--enable-protocol=rtmp \ 
--enable-protocol=tcp \ 
--enable-protocol=http \ 
--enable-protocol=rtmpe \ 
--enable-protocol=udp \ 
--disable-ffprobe \ 
--disable-ffserver \ 
--extra-cflags='-I/home/<USERNAME>/applications/droidtooleabi/sysroot/usr/include -fpic -mthumb-interwork -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -march=armv5te -mtune=xscale -msoft-float' \ 
--extra-ldflags='-nostdlib /home/<USERNAME>/applications/droidtooleabi/sysroot/usr/lib/libc.so /home/<USERNAME>/applications/droidtooleabi/sysroot/usr/lib/libm.so -Wl,-rpath-link=/home/<USERNAME>/applications/droidtooleabi/sysroot/usr/lib -L/home/<USERNAME>/applications/android-ndk-r5b/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/lib/gcc/arm-eabi/4.4.0' \ 
--extra-ldflags='-Wl,-dynamic-linker,/system/bin/linker /home/<USERNAME>/applications/droidtooleabi/sysroot/usr/lib/crtbegin_dynamic.o /home/<USERNAME>/applications/droidtooleabi/sysroot/usr/lib/crtend_android.o' \ 
--extra-libs=-lgcc 
+0

hey .. J'ai suivi cette chose. Il m'a finalement donné un avertissement "arm-eabi-pkg-config non trouvé, la détection de la bibliothèque peut échouer." Comment puis-je m'y attaquer. –

Questions connexes