(1):工具安装 yum installautomake autoconf make gcc gcc-c++ libtool zlib zlib-devel curl curl-develalsa-lib alsa-lib-devel gettext gettext-devel expat expat-devel opensslopenssl-devel
(2)各个软件说明:
ffmpeg作为一个多媒体框架和平台,最大的优势就在于可以很灵活地支持多种编解码和其他特性,只要第三方外部库支撑都可以做到。本次安装下列第三包依赖包:
faac:全称是Free Advanced Audio Coder,是MPEG-4和MPEG-2 AAC的一款常用的开源编解码器;
lame:一款常见的mp3的开源编解码器;
libass:先说一下ASS/SSA,其全称是Advanced Substation Alpha/Substation Alpha,是一种功能极为强大的字幕格式,主要用在视频文件里显示字幕。而libASS是一个轻量级的对ASS/SSA格式字幕进行渲染的函数库,使用C编写,效率非常高;
libdc1394:这是面向高级语言编程接口的一个库,主要提供了对符合IEEE1394规范的数码摄录设备的一组操作接口。符合1395规范的数码相机标准的全称是1394-based DigitalCamera Specifications,简称为IIDC或DCAM。安装dc1394需要先安装raw1394;
libfreetype2:freetype是一个用C语言实现的一个字体光栅化库,它可以用来将字符栅格化并映射成位图以及提供其他字体相关业务的支持。freetype提供了一个简单、易用并统一的接口来访问字体文件的内容。freetype不仅被自由桌面系统软件所使用,同时它也是现代视频游戏广泛使用的栅格化引擎;
libvorbis:这个库主要用于处理ogg格式的音频文件,而ogg全称是oggvorbis,一种类似mp3的音频压缩格式。不同于mp3的是ogg完全免费、开放和没有专利限制的。ogg文件格式可以不断地进行大小和音质的改良,而不影响旧有的编码器或播放器,主要由Xiph.org基金会开发;
libtheora:theora也是Xiph.org基金会开发,是一种有损的影像压缩格式;
openssl:这个就不多说了,很多安全框架的基础;
rtmpdump:一个开源的rtmp格式的流媒体库,RTMP(Real Time Messaging Protocol)是Adobe Systems公司为它自家的flash播放器和服务器之间音频、视频和数据传输开发的一种开放的传输协议;
speex:speex是一套主要针对语音的开源免费、无专利保护的音频压缩格式,致力于通过提供一个可以替代高性能语音编解码来降低语音应用输入门槛。相对于其它编解码器,speex非常适合网络应用,因为它专为2-44kpbs语音码流所设计,所以在网络应用上有着自己独特的优势;
twolame:一个开源的mp2格式的编解码库;
vo-aacenc:AAC格式的常用的音频编码器;
xvidcore:是一个开放源代码的MPEG-4视频编解码器;
x264:目前最流行,最常见的H.264视频格式的一个开源的编解码器;
(3)遇到的问题:
编译libass的时候总是提示找不到fribidi,执行:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH ldconfig -v
(4)安装
1 faac
./bootstrap ./configure --prefix=/usr/local/ --enable-shared make && make install
2 lame
./configure --prefix=/usr/local/ --enable-shared make && make install
3 libogg
./configure --prefix=/usr/local/ --enable-shared make && make install
4 libtheora
#请优先使用后面的yum方式安装 ./configure --prefix=/usr/local/ --enable-shared ldconfig -v make && make install
或者
yum installlibtheora libtheora-devel
5 libvorbis
./configure --prefix=/usr/local/ --enable-shared make && make install
6 vo-aacenc
./configure --prefix=/usr/local/ --enable-shared make && make install
7 xvidcore
cd ./build/generic ./configure --prefix=/usr/local/ make && make install
8 yasm
#请优先使用后面的yum方式安装 ./configure --prefix=/usr/local/ make && make install
或
yum install yasm*
9 x264
./configure--prefix=/usr/local/ --enable-shared --enable-pic make &&make install
10 libraw1394
./configure--prefix=/usr/local/ --enable-shared make && make install
11 libdc1394
./configure --prefix=/usr/local/ --enable-shared make && make install
12 libfreetype
./configure --prefix=/usr/local/ --enable-shared make && make install
13 fribidi
./configure --prefix=/usr/local/ --enable-shared make && make install
14 fonconfig
./configure --prefix=/usr/local/ --enable-shared make && make install
15 libass
#请优先使用后面的yum方式安装 ./configure --prefix=/usr/local/ --enable-shared make && make install
或
yum install libass*
17 librtmp
make SYS=posix make install
补充:不灵的话请运行
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
18 libspeex
#请优先使用后面的yum方式安装 ./configure --prefix=/usr/local/ --enable-shared--enable-sse make && make install
或
yum install speex*
19 twolame
yum install libsndfile-devel ./configure --prefix=/usr/local/ --enable-shared make && make install
20 FFmpeg
./configure --prefix=/usr/local/ --enable-gpl--enable-version3 --enable-nonfree \ --enable-shared --enable-zlib --enable-bzlib--enable-libfaac \ --enable-libmp3lame --enable-libtheora --enable-libvo-aacenc\ --enable-libvorbis --enable-libx264 --enable-libxvid--enable-pic \ --enable-pthreads --enable-libdc1394 --enable-libass--enable-pic \ --enable-openssl --enable-libtwolame --enable-libspeex--enable-librtmp \ --enable-libfreetype make && make install
当编译完成了之后,输入.ffmpeg -version 是否出现
如果报错的话,请复制报错信息百度一下...这个问题是动态库地址的问题。问题不大,但是我忘记了改哪个文件了.反正改的内容是 /usr.local/lib 印象中是....勿喷,,,百度就好了
出现错误
ffmpeg: error while loading shared libraries:libavdevice.so.56: cannot open shared object file: No such file or directory
用find命令查找该文件,在/usr/local/lib下
Centos7下,解决方法
cd /etc/ld.so.conf.d vi lib.conf
内容写
/usr/local/lib
保存退出后运行
ldconfig