是否有任何選項在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被卡住了一點。你能幫我嗎? –