是否有任何选项在ARM(Android NDK)下动态编译FFMPEG? (我发现只有关于静态编译的文章) 第二个问题:当构建FFMPEG时,我无法找到文件Makefile.am。他们能以某种方式得到它吗?Android交叉编译ffmpeg
1
A
回答
2
我选择了这个工具链中比较常用编译时,因为大多数手臂Linux产品使用它,你可以为你的喜好改变 用gcc 的4.4.0,我不知道这是否会与替代 所以请工作不要问。在我成功构建之前,我运行了./configure命令数百个。因此,我分享 什么工作,也许它会帮助你。
使用Ubuntu 32位03年4月10日在VirtuaBox客户/主机是Vista的64
更改<USERNAME>
到Linux的用户名
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
嘿..我跟着这个东西。它终于给我一个警告 “arm-eabi-pkg-config找不到,库检测可能会失败。” 我如何解决它。 –
相关问题
- 1. Android交叉编译
- 2. 如何用ffmpeg交叉编译OpenCV
- 3. 交叉编译openvswitch为Android
- 4. 交叉编译freetype为Android
- 5. Android和交叉编译
- 6. Qt交叉编译
- 7. 交叉编译ldd
- 8. Beaglebone交叉编译
- 9. Qt - 交叉编译
- 10. 交叉编译libSDL
- 11. ARM交叉编译
- 12. cmake交叉编译
- 13. qt交叉编译
- 14. 交叉编译器
- 15. Microblaze交叉编译
- 16. QTcreator交叉编译
- 17. 交叉编译stunnel
- 18. 交叉编译QT
- 19. 交叉编译php
- 20. ffmpeg编译为Android
- 21. android AOSP交叉编译器混淆
- 22. 是aubio交叉编译的iPhone/Android/ARM?
- 23. Android Studio交叉编译静态库。
- 24. 交叉编译C程序为Android
- 25. 如何交叉编译LTP为android
- 26. 针对Android的交叉编译
- 27. 使用Android NDK交叉编译
- 28. CMake:FIND_PACKAGE(线程)为Android交叉编译
- 29. 使用ppcrossarm交叉编译为Android?
- 30. 编译GMP的交叉编译问题
嘿..你通过这个东西弄?我正在研究完全相同的东西。我遵循这个问题的答案,但是m被卡住了一点。你能帮我吗? –