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