视频编码器:编译libx264

x264是最常用的H.264视频编码器,在当今点播、直播非常火热的时代,x264的用途非常广泛,本文介绍libx264的相关编译。

一、使用NDK编译x264库

1.在ubuntu下配置android ndk环境变量

我是在ubuntu 16.0.4下安装的,在WIN下要装cygwin,会麻烦很多,不推荐。

更具体的安装与配置参考:《Ubuntu下Android NDK的安装及配置》

2.libx264的下载和编译

进入X264的官网下载最新版本,官网地址:http://www.videolan.org/developers/x264.html

视频编码器:编译libx264_第1张图片
解压到 /home/davebobo目录
$ sudo tar -C /home/davebobo -xjvf last_x264.tar.bz2  解压后的文件夹为x264-snapshot-20160905-2245
进入 /home/davebobo/x264-snapshot-20160905-2245 目录
创建ndk_build_x264_config.sh
代码如下:
#!/bin/bash
NDK=/home/davebobo/android-ndk-r10b
SYSROOT=$NDK/platforms/android-L/arch-arm  
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64  

function build_one
{
./configure \
    --prefix=$PREFIX \
    --enable-shared \
    --disable-asm \
    --enable-pic \
    --enable-strip \
    --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
    --host=arm-linux-androideabi \
    --sysroot=$SYSROOT \
    --extra-cflags="-Os -fpic $ADDI_CFLAGS" \
    --extra-ldflags="$ADDI_LDFLAGS" \
    $ADDITIONAL_CONFIGURE_FLAG
}
CPU=arm
PREFIX=$(pwd)/android/$CPU
ADDI_CFLAGS=""
build_one
注意shell不能有多余的空格!
【保存并退出】
注意:
NDK、SYSROOT、TOOLCHAIN要改为你的ndk的相关安装目录;
另外修改.configure中
    echo "SOSUFFIX=so" >> config.mak
    echo "SONAME=libx264.so.$API" >> config.mak
    echo "SOFLAGS=-shared -Wl,-soname,\$(SONAME) $SOFLAGS" >> config.mak
这一行 echo "SONAME=libx264.so.$API" >> config.mak ,
改成: echo "SONAME=libx264.so" >> config.mak
然后执行:
$ chmod a+x ndk_build_x264_config.sh
$ ./ndk_build_x264_config.sh     
$ make
$ make install
ok,编译成功!
使用ndk编译成功的libx264: http://download.csdn.net/detail/davebobo/9629230

你可能感兴趣的:(FFmpeg)