zoukankan      html  css  js  c++  java
  • 编译Android下可用的FFmpeg+x264

    编译Android下可用的FFmpeg+x264

    编译x264:

    下载最新版的x264

    ftp://ftp.videolan.org/pub/videolan/x264/snapshots/

    1.解压到指定的目录

    2.切换当前目录为该目录

    3.创建一个shell脚本build_x264.sh,内容如下:

    NDK= NDK=/home/duizhe/android-ndk-r6(你自己的NDK根目录)

    PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt

    PLATFORM=$NDK/platforms/android-8/arch-arm (or any other android platform you want)

    PREFIX=/home/android-ffmpeg

    ./configure --prefix=$PREFIX 

    --enable-static 

    --enable-pic 

    --disable-asm 

    --disable-cli 

    --host=arm-linux 

    --cross-prefix=$PREBUILT/linux-x86/bin/arm-linux-androideabi- 

    --sysroot=$PLATFORM

    make

    sudo make install

    sudo ldconfig

    编译ffmpeg:

    下载最新版的ffmpeg

    http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2

    1.解压到指定的目录

    2.切换当前目录为该目录

    3.创建一个shell脚本build_ffmpeg.sh,内容如下:

    #!/bin/bash

    export NDK=/home/duizhe/android-ndk-r6

    export PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt

    export PLATFORM=$NDK/platforms/android-8/arch-arm

    export PREFIX=/home/android-ffmpeg

    function build_one

    {

    ./configure --target-os=linux --prefix=$PREFIX 

    --enable-cross-compile 

    --enable-runtime-cpudetect 

    --disable-asm 

    --arch=arm 

    --cc=$PREBUILT/linux-x86/bin/arm-linux-androideabi-gcc 

    --cross-prefix=$PREBUILT/linux-x86/bin/arm-linux-androideabi- 

    --disable-stripping 

    --nm=$PREBUILT/linux-x86/bin/arm-linux-androideabi-nm 

    --sysroot=$PLATFORM 

    --enable-nonfree 

    --enable-version3 

    --disable-everything 

    --enable-gpl 

    --disable-doc 

    --enable-avresample 

    --enable-demuxer=rtsp 

    --enable-muxer=rtsp 

    --disable-ffplay 

    --disable-ffserver 

    --enable-ffmpeg 

    --disable-ffprobe 

    --enable-libx264 

    --enable-encoder=libx264 

    --enable-decoder=h264 

    --enable-protocol=rtp 

    --enable-hwaccels 

    --enable-zlib 

    --disable-devices 

    --disable-avdevice 

    --extra-cflags="-I/home/android-ffmpeg/include -fPIC -DANDROID -D__thumb__ -mthumb -Wfatal-errors -Wno-deprecated -mfloat-abi=softfp -mfpu=vfpv3-d16 -marm -march=armv7-a" 

    --extra-ldflags="-L/home/android-ffmpeg/lib"

    make -j4 install

    $PREBUILT/linux-x86/bin/arm-linux-androideabi-ar d libavcodec/libavcodec.a inverse.o

    $PREBUILT/linux-x86/bin/arm-linux-androideabi-ld -rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -L$PREFIX/lib  -soname libffmpeg.so -shared -nostdlib  -z,noexecstack -Bsymbolic --whole-archive --no-undefined -o $PREFIX/libffmpeg.so libavcodec/libavcodec.a libavfilter/libavfilter.a libavresample/libavresample.a libavformat/libavformat.a libavutil/libavutil.a libswscale/libswscale.a -lc -lm -lz -ldl -llog -lx264 --warn-once --dynamic-linker=/system/bin/linker $PREBUILT/linux-x86/lib/gcc/arm-linux-androideabi/4.4.3/libgcc.a

    }

    build_one

    编译完成。

    http://hi.baidu.com/duizhe_memory/item/482e6fd6ccfee7fa93a974be?qq-pf-to=pcqq.group

  • 相关阅读:
    Window上编译最新版libCef(Branch 2704)(转载)
    在hue 使用oozie sqoop 从mysql 导入hive 失败
    hive 支持更新
    基于Hadoop生态圈的数据仓库实践 —— 环境搭建(三)笔记
    修改CENTOS7的网卡名(将网卡ens33修改为我们在centos6中常见的eth0)
    config network name
    Java服务部署规范(内部使用)
    MongoDB干货系列1-定期巡检之Mtools
    mongodb validation--像关系型数据库表去使用mongodb
    ntp 服务导致kudu集群不可用
  • 原文地址:https://www.cnblogs.com/fengbeihong/p/3431398.html
Copyright © 2011-2022 走看看