### ffmpeg android 移植 裁剪

来源:互联网 发布:驾考预约软件 编辑:程序博客网 时间:2024/06/11 17:35
    最近需要进行一个android视频的录制和图片压缩成视频,查找决定使用ffmpeg,压缩成mp4格式的视频,前期首先移植了x264进行h264的编码,还有一个html5需要h264编码的mp4才能播放,以前使用的另一个编码器,后来改成了h264编码器。      下面是自己写的一个移植脚本,中间经历了很多问题,最终完美移植成功。
#!/bin/shexport NDK=/home/share/android-ndk-r12bexport PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.9/prebuiltexport PLATFORM=$NDK/platforms/android-14/arch-armexport PREFIX=/home/share/install_ffmpegbuild_one(){./configure --target-os=linux --prefix=$PREFIX \--enable-cross-compile \--enable-runtime-cpudetect \--arch=arm \--cc=$PREBUILT/linux-x86_64/bin/arm-linux-androideabi-gcc \--cross-prefix=$PREBUILT/linux-x86_64/bin/arm-linux-androideabi- \--disable-stripping \--nm=$PREBUILT/linux-x86_64/bin/arm-linux-androideabi-nm \--sysroot=$PLATFORM \--disable-shared \--enable-static \--enable-nonfree \--enable-version3 \--enable-gpl \--enable-small \--enable-libx264 \--disable-encoders \--enable-encoder=mpeg4 \--enable-encoder=libx264 \--disable-avresample \--disable-ffplay \--disable-ffserver \--enable-ffmpeg \--disable-ffprobe \--disable-hwaccels \--disable-zlib \--disable-doc \--disable-htmlpages \--disable-manpages \--disable-podpages \--disable-txtpages \--disable-network \--disable-debug \--disable-xlib \--disable-lzma \--disable-decoders \--enable-decoder=mjpeg \--disable-protocols \--enable-protocol=file \--disable-demuxers \--enable-demuxer=avi \--enable-demuxer=image2 \--enable-demuxer=h264 \--disable-muxers \--enable-muxer=avi \--enable-muxer=image2 \--enable-muxer=mp4 \--enable-muxer=h264 \--disable-parsers \--enable-parser=mpeg4video \--enable-parser=mjpeg \--disable-bsfs \--enable-bsf=mjpeg2jpeg \--disable-bsf=remove_extradata \--disable-devices \--enable-pthreads \--disable-bzlib \--disable-iconv \--extra-cflags="-I/home/share/install_ffmpeg/include -pie -fPIE -DANDROID -D__thumb__ -mthumb -Wno-deprecated -mfloat-abi=softfp -mfpu=vfpv3-d16 -marm -O3 -ffast-math -march=armv7-a -fsigned-char" \--extra-ldflags="-L/home/share/install_ffmpeg/lib -pie -fPIE"make clean;make;make install}build_one
    编译的时候最好加上-pie -fPIE 选项,否则比较新的手机无法运行。好多编解码器和混合器等模块都给disable了,主要是为了减少体积,这样  编译完之后既能完成需要的功能,体积也在2M左右。
2 0
原创粉丝点击