前端之家收集整理的这篇文章主要介绍了
CentOS下yum安装FFmpeg,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
一、yum安装FFmpeg
1.最偷懒的方式就是yum安装了,自动解决依赖。不过CentOS系统默认无FFmpeg源,企业版 Linux 附加软件包EPEL源也不包含,需要手动添加yum源配置/etc/yum.repos.d/dag.repo:
|
[dag]
name=DagRPMRepository
for
RedHatEnterpriseLinux
baseurl=http:
//apt
.sw.be
/redhat/el
$releasever
/en/
$basearch
/dag
gpgcheck=0
enabled=1
|
@H_403_61@
2.在线安装FFmpeg
@H_403_61@
二、编译安装FFmpeg
yum安装FFmpeg比源码编译安装省时省力,但缺点也很明显,版本过老,为0.6.5版,最新版已为2.6.3,新旧版很多参数有所差异,旧版支持的格式也没有新版丰富。
源码编译安装FFmpeg非常需要耐心,每添加一种需要支持的格式就需要有相应的多媒体格式开发库。文中所使用的软件版本皆为最新版。
1. 安装autoconf
|
cd
/App/src
wgethttp:
//ftp
.gnu.org
/gnu/autoconf/autoconf-2
.69.
tar
.xz
xvfautoconf-2.69.
.xz
autoconf-2.69
.
/configure
make
make
install
|
@H_403_61@
2.安装automake
/gnu/automake/automake-1
.15.
xvfautomake-1.15.
automake-1.15
3.安装libtool(FAAC需要)
/gnu/libtool/libtool-2
.4.6.
xvflibtool-2.4.6.
libtool-2.4.6
4.安装yasm支持汇编优化(FFmpeg需要)
//www
.tortall.net
/projects/yasm/releases/yasm-1
.3.0.
.gz
xvfyasm-1.3.0.
.gz
yasm-1.3.0
5.添加动态链接库配置
|
echo
'/usr/local/lib'
>>
/etc/ld
.so.conf.d
/local
.conf
echo "/usr/local/lib" >> /etc/ld.so.conf /sbin/ldconfig
|
@H_403_61@
6.安装MP3支持库LAME
//jaist
.dl.sourceforge.net
/project/lame/lame/3
.99
/lame-3
.99.5.
xvflame-3.99.5.
lame-3.99.5
7.安装AAC支持库FAAC
make时报错:mpeg4ip.h:126: 错误:对‘char* strcasestr(const char*,const char*)’的新声明
需要修改common/mp4v2/mpeg4ip.h第123行至129行内容:
#ifdef__cplusplus
extern
"C"
{
#endif
char
*strcasestr(
const
*haystack,
*needle);
#ifdef__cplusplus
}
#endif
|
@H_403_61@
修改为:
@H_403_61@
/project/faac/faac-src/faac-1
.28
/faac-1
.28.
.bz2
xvffaac-1.28.
.bz2
faac-1.28
/bootstrap
/configure
--with-mp4v2
make
8. 安装AMR支持库opencore-amr
/project/opencore-amr/opencore-amr/opencore-amr-0
.1.3.
xvfopencore-amr-0.1.3.
opencore-amr-0.1.3
9.安装通用音乐音频编码格式支持库libvorbis
/App/src
//downloads
.xiph.org
/releases/ogg/libogg-1
.3.2.
xvflibogg-1.3.2.
.xz
libogg-1.3.2
/configure
make
install
/App/src
/releases/vorbis/libvorbis-1
.3.5.
.xz
xvflibvorbis-1.3.5.
.xz
libvorbis-1.3.5
/configure
make
10.安装x264库支持H.264视频转码
gitclonegit:
//git
.videolan.org
/x264
.git
x264
--
enable
-shared
make
11.安装Xvid库支持MPEG-4转码
.xvid.org
/downloads/xvidcore-1
.3.3.
xvfxvidcore-1.3.3.
xvidcore
/build/generic
12.安装Theora视频压缩支持库
/releases/theora/libtheora-1
.1.1.
xvflibtheora-1.1.1.
libtheora-1.1.1
13.安装NUT支持库
安装时64位Linux系统需要修改文件config.mak
在最后一个CFLAGS下一行增加:
CFLAGS += -fPIC
否则安装FFmpeg make时报错:
/usr/local/lib/libnut.a: could not read symbols: Bad value
svncosvn:
//svn
.mplayerhq.hu
/nut/src/trunk
libnut
libnut
/configure
14.安装VP8/VP9编解码支持库
gitclonehttp:
.chromium.org
/webm/libvpx
libvpx
-shared --as=yasm
15.安装FFmpeg最新版
//ffmpeg
.org
/releases/ffmpeg-2
.6.3.
xvfffmpeg-2.6.3.
ffmpeg-2.6.3
-version3--
-libvpx--
-libfaac--
-libmp3lame--
-libvorbis--
-libx264--
-libxvid--
-gpl--
-postproc--
-nonfree--
-avfilter--
-pthreads--
-libnut--
-libtheora--
-libopencore-amrnb--
-libopencore-amrwb--
-shared
install
ldconfig
|
@H_403_61@
16.安装segmenter
gitclonehttps:
//github
.com
/johnf/m3u8-segmenter
m3u8-segmenter
PKG_CONFIG_PATH=
/usr/local/lib/pkgconfig
/configure
make
install
ln
-s
/usr/local/bin/m3u8-segmenter
/usr/local/bin/segmenter
|
@H_403_61@
三、编译安装注意事项
1.可能发现编译FFmpeg或者其他支持库时,即使相关的所有依赖也编译安装上了,仍然make报错,主要的原因还是由于依赖的库版本冲突,编译时调用的是yum安装时自动下载安装的旧版本依赖库。此时的方法就是卸掉所有yum安装的旧版本FFmpeg和相关的依赖软件包或者重新找台新的纯净的系统重新开始安装,或者使用Ubuntu Server最新版,一般Ubuntu Server最新版FFmpeg版本还是比较新的,直接执行命令sudo apt-get install ffmpeg会自动安装FFmpeg和相关依赖。
2.有爱专研的或者受制于手头无多余机器的,只能老老实实得卸载旧软件,从头开始编译安装。如何去除旧版本yum安装的相关软件。我们可以借助yum deplist命令先找出所有相关软件包,然后卸载除了公共软件包外的所有软件包。此方法也适用于安装其它软件时遇到类似同样的问题。
|
yumdeplistffmpeg|
grep
-
v
ffmpeg|
provider|
awk
'{print$2}'
|
sort
-u
|
@H_403_61@
图示:
从中挑出非公共软件包的软件包名卸载:
rpm-e--nodepsa52decdiracdirac-libsfaacgsmlamelibtheoraopencore-amrSDLx264
rpm-e--nodeps$(rpm-qa|
-iffmpeg)
@H_403_61@
| |