Cross-compiling ffmpeg
来源:互联网 发布:手机淘宝如何注册账号 编辑:程序博客网 时间:2024/05/21 17:12
http://stackoverflow.com/questions/5966700/android-cross-compiling-ffmpeg
I chose this toolchain for the more commonly used 4.4.0 of gcc when compiling as most arm linux products use it you can change for your liking, I don't know if it will work with substitutions so please don't ask. I ran the ./configure command hundreds of times before I got a succssful build. Therefore I am sharing what worked maybe it will help you.
Using UBUNTU 32-bit 10.04.03 in VirtuaBox Guest / Host machine is Vista 64
Change <USERNAME>
to your linux users name
mkdir /home/<USERNAME>/applicationscd /home/<USERNAME>/applicationswget http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2wget http://ffmpeg.org/releases/ffmpeg-0.8.7.tar.bz2tar -xjf android-ndk-r5b-linux-x86.tar.bz2tar -xjf ffmpeg-0.8.7.tar.bz2mv ffmpeg-0.8.7 ffmpegNDK=/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/droidtooleabicd ffmpegexport PATH=/home/<USERNAME>/applications/droidtooleabi/bin:$PATHexport 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
I chose this toolchain for the more commonly used 4.4.0 of gcc when compiling as most arm linux products use it you can change for your liking, I don't know if it will work with substitutions so please don't ask. I ran the ./configure command hundreds of times before I got a succssful build. Therefore I am sharing what worked maybe it will help you.
Using UBUNTU 32-bit 10.04.03 in VirtuaBox Guest / Host machine is Vista 64
Change <USERNAME>
to your linux users name
mkdir /home/<USERNAME>/applicationscd /home/<USERNAME>/applicationswget http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2wget http://ffmpeg.org/releases/ffmpeg-0.8.7.tar.bz2tar -xjf android-ndk-r5b-linux-x86.tar.bz2tar -xjf ffmpeg-0.8.7.tar.bz2mv ffmpeg-0.8.7 ffmpegNDK=/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/droidtooleabicd ffmpegexport PATH=/home/<USERNAME>/applications/droidtooleabi/bin:$PATHexport 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
- Cross-compiling ffmpeg
- cross-compiling FFmpeg through Ubuntu Linux
- Cross-Compiling Iceadtea(OpenJDK)
- Cross-Compiling Under Linux
- Cross-compiling for ARM
- Cross Compiling Linphone(转载)
- cross platform compiling
- Cross Compiling Xorg
- CMake Cross Compiling
- CMake Cross Compiling
- CMake Cross Compiling
- cross-compiling for iPhone dev
- Cross-compiling GTK+ over DirectFB
- cross-compiling for iPhone dev
- Cross compiling Libx264 for ARM
- Errors when compiling cross gcc
- FFmpeg Compiling Issues
- compiling ffmpeg for iFrameExtractor
- 关于给 label标签添加“手型”的问题
- C#--第九周 任务2--定义一个静态成员方法,该方法实现字符串反转
- Android 自定义SeekBarPreference实现
- centos6上安装libdb4.6
- php5.2.4与apache的安装配置(完整)
- Cross-compiling ffmpeg
- 网吧里的人
- 在git中,如果revert本地的commit?
- C#多重继承
- nand flash 和nor flash 区别
- cocos2d-x + SmartFoxServer解决方案(安卓)
- C++编程规范
- 如何编写Windows服务程序(一)
- Hibernate延时加载---集合属性的延迟加载