CentOS-6.4 编译安装ffmpeg加x264以及rtmp

CentOS 6.4-64位下编译ffmpeg几个简单步骤:

1.编译前环境准备;

2.下载源码;

3.编译,安装;

-----------------------------------------------

下面就一个一个的叙述下:

一,安装必要所需环境:

命令行:

# yum install autoconf automake gcc gcc-c++ git libtool make nasm pkgconfig zlib-devel

//确保机器可以联网

# yum install yasm (也可以不安装编译的时候禁掉就行)

二,安装x264支持库:

下载libx264源码,解压本地(啰嗦。。。)

cd 进入 x264 目录

命令行: # ./configure --enable-shared --disable-asm

   # make

#make install

(也可以依赖x264的静态库,编译好之后把头文件和.a拷贝到 /usr/local/include 和lib下)

三,安装rtmp支持库:

下载rtmp源码,解压本地

cd 进入 rtmp 目录

在编译之前可以先禁用rtmp 内openssl 模块:

编辑 rtmp目录 和 librtmp目录 内的Makefile 文件注释: #CRYPTO=OPENSSL

然后编译rtmp

命令行:# make

# make install

四,编译安装ffmpeg:

下载ffmpeg源码,解压本地

cd 进入 ffmpeg 目录 配置 configure

注:在执行configure的时候如果提示“librtmp not found” 的错误,可以注释掉 ffmpeg目录下 configure 文件:

注释 “#enabled librtmp && require_pkg_config librtmp librtmp/rtmp.h RTMP_Socket -lws2_32 -lwinmm” 该行,等配置之后在手动添加make文件内。

下面编译:

命令行:# ./configure --enable-static --disable-shared --disable-yasm --enable-memalign-hack --enable-gpl --enable-libx264 --enable-librtmp --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib --prefix=/usr/local

注:如果上面注释了rtmp哪一项的话,这里需要手动修改下 ffmpeg目录下的 config.mak 文件:

找到 “EXTRALIBS= ” 这一项 ,然后在其最后 添加 -lrtmp

继续编译:

命令行:#make

编译成功之后ffmpeg就算编译完成了,你可以执行以下 ./ffmpeg

如果提示 libx264 库找不到的话,你可以手动从 x264 目录拷贝相应库到 /usr/lib/ 目录下 然后命令行执行:ldconfig

安装:

命令行:#make install