linux编译ffmpeg支持x264,x265 - 下载本文

linux 编译ffmpeg 支持x264, x265

1. 前言

本教程涉及的ffmpeg, x264, x2652. 环境依赖 2.1 删除系统中安装的ffmpeg等库

[plain] view plain copy sudo apt-get --purge remove ffmpeg mplayer x264 x265

2.2 安装依赖库

[plain] view plain copy sudo apt-get update sudo apt-get -y --force-yes install autoconf automake build-essential libass-dev libfreetype6-dev libgpac-dev \\ libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev \\ libxcb-xfixes0-dev pkg-config texi2html zlib1g-dev

注: 服务器版本可忽略

libsdl1.2-dev libva-dev libvdpau-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev2.3 下载源代码 (1) ffmpeg

[plain] view plain copy git clone

git://source.ffmpeg.org/ffmpeg.git ffmpeg

(2) x264[plain] view plain copy <pre name=\class=\clone git://git.videolan.org/x264.git (3) x265[plain] view plain copy hg clone

https://bitbucket.org/multicoreware/x265 (4) yasm

yasm 是x86平台的一个汇编优化器, 能够加快ffmpeg x264的编译

[plain] view plain copy wget

http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz tar xzvf yasm-1.3.0.tar.gz 3. 编译

3.1 配置编译输出目录 [plain] view plain copy export

FFMPEG_PATH=\ export

PATH=\ 例如我输出目录为$HOME/ffmpeg_2.6.3/build_out 那么:

[plain] view plain copy export

FFMPEG_PATH=\

3.1 yasm

[plain] view plain copy cd yasm-1.3.0 ./configure --prefix=\ make make install

或者安装已有的库(yasm version ≥ 1.3.0)

[plain] view plain copy sudo apt-get install yasm 3.2 x264 在配置ffmpeg config时需要加入--enable-gpl和--enable-libx264

[plain] view plain copy cd x264* ./configure --prefix=\

--enable-static make -j4 make install make clean 或者安装已有的库(yasm version ≥ 1.3.0)[plain] view plain copy sudo apt-get install libx264-dev 3.3 x265 [plain] view plain copy cd x265/build/linux cmake -G \

-DCMAKE_INSTALL_PREFIX=\-DENABLE_SHARED:bool=off ../../source make -j4 make install make clean </tt></span> 3.4 aac

在配置ffmpeg config时需要加入--enable-libfdk_aac(如果

开启--enable-gpl同时需要开启--enable-nonfree ) [plain] view plain copy

PKG_CONFIG_PATH=\configure \\ --prefix=\ --pkg-config-flags=\

--extra-cflags=\

--extra-ldflags=\ --enable-gpl \\ --enable-libass \\ --enable-libfaac \\

--enable-libfreetype \\ --enable-libmp3lame \\ --enable-libtheora \\ --enable-libvorbis \\ --enable-libx264 \\ --enable-libx265 \\ --enable-nonfree \\ --enable-shared \\ --enable-postproc \\ --enable-x11grab \\

--enable-bzlib \\ --enable-libxvid \\ --enable-zlib \\ --disable-debug

4. 将ffmpeg添加到环境变量 4.1 将ffmpeg添加到环境变量

[plain] view plain copy vim ~/.bashrc 在最后添加[plain] view plain copy export

FFMPEG_PATH=\build_out\ export PATH=\ 4.2 添加链接库编译完成之后调用 ffmpeg 会出现 error

while loading shared libraries: xxx 解决这种问题有2中方法: (1) 修改/etc/ld.so.conf

[plain] view plain copy vim /etc/ld.so.conf

在最后添加[plain] view plain copy $FFMPEG_PATH/lib

然后执行

[plain] view plain copy sudo ldconfig (2) 修改LD_LIBRARY_PATH

[plain] view plain copy vim ~/.bashrc 在最后添加[plain] view plain copy export

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$FFMPEG_PATH/ib