1、源码下载
从FFMPEG官网下载源码,也可以使用git下载git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
2、配置
进入FFMPEG目录,执行命令./configure
。意料之中出错了,如图:
缺少yasm/nasm,直接yum貌似没有找到对应的安装包,于是源码下载安装。
下载: wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
解压:tar -zxvf yasm-1.3.0.tar.gz
配置:进入yasm-1.3.0目录,执行./configure
安装:make&&make install
安装好之后继续configure。网上看了资料,一般都会缺少很多依赖环境,但是我这竟然就只差这一个。不过为了方便起见,还是将其都列出来,供网友参考:
faac:全称是Free Advanced Audio Coder,是MPEG-4和MPEG-2 AAC的一款常用的开源编解码器;
error: mpeg4ip.h:126: error: new declaration ‘char strcasestr(const char*, const char*)*’
从123行开始修改此文件mpeg4ip.h,到129行结束。
修改前:
#ifdef __cplusplus
extern "C" {
#endif
char *strcasestr(const char *haystack, const char *needle);
#ifdef __cplusplus
}
#endif
修改后:
#ifdef __cplusplus
extern "C++" {
#endif
const char *strcasestr(const char *haystack, const char *needle);
#ifdef __cplusplus
}
#endif
lame:一款常见的mp3的开源编解码器;
libogg:
**libtheora:**theora也是Xiph.org基金会开发,是一种有损的影像压缩格式;
libvorbis:这个库主要用于处理ogg格式的音频文件,而ogg全称是ogg vorbis,一种类似mp3的音频压缩格式。不同于mp3的是ogg完全免费、开放和没有专利限制的。ogg文件格式可以不断地进行大小和音质的改良,而不影响旧有的编码器或播放器,主要由Xiph.org基金会开发;
vo-aacenc:AAC格式的常用的音频编码器;
xvidcore:是一个开放源代码的MPEG-4视频编解码器;
x264:目前最流行,最常见的H.264视频格式的一个开源的编解码器
libdc1394:这是面向高级语言编程接口的一个库,主要提供了对符合IEEE 1394规范的数码摄录设备的一组操作接口。符合1395规范的数码相机标准的全称是1394-based Digital Camera Specifications,简称为IIDC或DCAM。安装dc1394需要先安装raw1394;
libfreetype2:freetype是一个用C语言实现的一个字体光栅化库,它可以用来将字符栅格化并映射成位图以及提供其他字体相关业务的支持。freetype提供了一个简单、易用并统一的接口来访问字体文件的内容freetype不仅被自由桌面系统软件所使用,同时它也是现代视频游戏广泛使用的栅格化引擎;
fribidi:
fonconfig:
libass:先说一下ASS/SSA,其全称是Advanced Substation Alpha/Substation Alpha,是一种功能极为强大的字幕格式,主要用在视频文件里显示字幕。而libASS是一个轻量级的对ASS/SSA格式字幕进行渲染的函数库,使用C编写,效率非常高;
openssl:这个就不多说了,很多安全框架的基础;
librtmp: 一个开源的rtmp格式的流媒体库,RTMP(Real Time Messaging Protocol)是Adobe Systems公司为它自家的flash播放器和服务器之间音频、视频和数据传输开发的一种开放的传输协议;
libspeex:speex是一套主要针对语音的开源免费、无专利保护的音频压缩格式,致力于通过提供一个可以替代高性能语音编解码来降低语音应用输入门槛。相对于其它编解码器,speex非常适合网络应用,因为它专为2-44kpbs语音码流所设计,所以在网络应用上有着自己独特的优势;
twolame:一个开源的mp2格式的编解码库;
yasm:
3、编译安装
漫长的编译过程:make&&make install
。安装成功,测试一下: