### ffmpeg android 移植 裁剪

    最近需要进行一个android视频的录制和图片压缩成视频,查找决定使用ffmpeg,压缩成mp4格式的视频,前期首先移植了x264进行h264的编码,还有一个html5需要h264编码的mp4才能播放,以前使用的另一个编码器,后来改成了h264编码器。  
    下面是自己写的一个移植脚本,中间经历了很多问题,最终完美移植成功。
#!/bin/sh

export NDK=/home/share/android-ndk-r12b
export PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt
export PLATFORM=$NDK/platforms/android-14/arch-arm
export PREFIX=/home/share/install_ffmpeg

build_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左右。
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值