微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

2.在线安装FFmpeg

yum-y install ffmpeg

二、编译安装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

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

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

修改为:

"C++" #endif
#endif
/project/faac/faac-src/faac-1 .28 /faac-1 .28. .bz2
xvffaac-1.28. .bz2
faac-1.28
/bootstrap
/configure --with-mp4v2
#按前文修改mpeg4ip.h内容
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

#libvorbis需要libogg,先安装libogg库
/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

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

三、编译安装注意事项

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

图示:

从中挑出非公共软件包的软件包名卸载:

rpm-e--nodepsa52decdiracdirac-libsfaacgsmlamelibtheoraopencore-amrSdlx264
rpm-e--nodeps$(rpm-qa| -iffmpeg)

原文地址:https://www.jb51.cc/centos/376838.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。