CentOS下yum安装FFmpeg

一、yum安装FFmpeg

1.    最偷懒的方式就是yum安装了,自动解决依赖。不过CentOS系统默认无FFmpeg源,企业版 Linux 附加软件包EPEL源也不包含,需要手动添加yum源配置/etc/yum.repos.d/dag.repo:

 

[dag]

name=Dag RPM Repository for Red Hat Enterprise Linux

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

wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.xz    

tar xvf autoconf-2.69.tar.xz

cd autoconf-2.69

./configure

make

make install

2.    安装automake

cd /App/src

wget http://ftp.gnu.org/gnu/automake/automake-1.15.tar.xz  

tar xvf automake-1.15.tar.xz

cd automake-1.15

./configure

make

make install

3.    安装libtool(FAAC需要)

cd /App/src

wget http://ftp.gnu.org/gnu/libtool/libtool-2.4.6.tar.xz

tar xvf libtool-2.4.6.tar.xz

cd libtool-2.4.6

./configure

make

make install

4.    安装yasm支持汇编优化(FFmpeg需要)

cd /App/src

wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz

tar xvf yasm-1.3.0.tar.gz

cd yasm-1.3.0

./configure

make

make install

5.    添加动态链接库配置

 

echo ‘/usr/local/lib‘ >> /etc/ld.so.conf.d/local.conf

6.    安装MP3支持库LAME

cd /App/src

wget http://jaist.dl.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz  

tar xvf lame-3.99.5.tar.gz

cd lame-3.99.5

./configure

make

make install

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 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

cd /App/src

wget http://jaist.dl.sourceforge.net/project/faac/faac-src/faac-1.28/faac-1.28.tar.bz2 

tar xvf faac-1.28.tar.bz2

cd faac-1.28

./bootstrap

./configure --with-mp4v2 

#按前文修改mpeg4ip.h内容

make

make install

8.    安装AMR支持库opencore-amr

cd /App/src

wget http://jaist.dl.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-0.1.3.tar.gz

tar xvf opencore-amr-0.1.3.tar.gz

cd opencore-amr-0.1.3

./configure

make

make install

9.    安装通用音乐音频编码格式支持库libvorbis

# libvorbis需要libogg,先安装libogg库

cd /App/src

wget http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.xz

tar xvf libogg-1.3.2.tar.xz

cd libogg-1.3.2

./configure

make

make install

cd /App/src

wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.xz

tar xvf libvorbis-1.3.5.tar.xz

cd libvorbis-1.3.5

./configure

make

make install

10.    安装x264库支持H.264视频转码

cd /App/src

git clone git://git.videolan.org/x264.git

cd x264

./configure --enable-shared

make

make install

11.    安装Xvid库支持MPEG-4转码

cd /App/src

wget http://downloads.xvid.org/downloads/xvidcore-1.3.3.tar.bz2

tar xvf xvidcore-1.3.3.tar.bz2

cd xvidcore/build/generic

./configure

make

make install

12.    安装Theora视频压缩支持库

cd /App/src

wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.xz

tar xvf libtheora-1.1.1.tar.xz

cd libtheora-1.1.1

./configure

make

make install

13.    安装NUT支持库

安装时64位Linux系统需要修改文件config.mak

在最后一个CFLAGS下一行增加:

CFLAGS += -fPIC

否则安装FFmpeg make时报错:

/usr/local/lib/libnut.a: could not read symbols: Bad value

 

cd /App/src

svn co svn://svn.mplayerhq.hu/nut/src/trunk libnut

cd libnut

./configure

make

make install

14.    安装VP8/VP9编解码支持库

 

cd /App/src

git clone http://git.chromium.org/webm/libvpx.git 

cd libvpx

./configure --enable-shared

make

make install

15.    安装FFmpeg最新版

cd /App/src

wget http://ffmpeg.org/releases/ffmpeg-2.6.3.tar.bz2

tar xvf ffmpeg-2.6.3.tar.bz2

cd ffmpeg-2.6.3

./configure --enable-version3 --enable-libvpx --enable-libfaac --enable-libmp3lame --enable-libvorbis --enable-libx264 --enable-libxvid --enable-gpl --enable-postproc --enable-nonfree --enable-avfilter --enable-pthreads --enable-libnut --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-shared

make

make install

ldconfig

16.    安装segmenter

git clone https://github.com/johnf/m3u8-segmenter

cd m3u8-segmenter

PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure

make

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命令先找出所有相关软件包,然后卸载除了公共软件包外的所有软件包。此方法也适用于安装其它软件时遇到类似同样的问题。

 

yum deplist ffmpeg | grep -v ffmpeg | grep provider | awk ‘{print $2}‘ sort -u

图示:

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

rpm -e --nodeps a52dec dirac dirac-libs faac gsm lame libtheora opencore-amr SDL x264

rpm -e --nodeps $(rpm -qa | grep -i ffmpeg)

时间: 2024-12-15 07:00:23

CentOS下yum安装FFmpeg的相关文章

centos下yum安装lamp和lnmp轻松搞定

centos下yum安装lamp和lnmp轻松搞定,到底多轻松你看就知道了,妈妈再也不担心不会装lamp了. 很辛苦整理的安装方法,会持续更新下去.凡无法安装的在评论里贴出问题来,会尽快解决.共同维护一个可用yum可用更新. 软件列表:php5.4 apache2.2 mysql5.5 nginx1.8 centos6.x rpm -Uvh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ng

Centos下Yum安装PHP5.5,5.6,7.0

Centos下Yum安装PHP5.5,5.6,7.0 默认的版本太低了,手动安装有一些麻烦,想采用Yum安装的可以使用下面的方案: 1.检查当前安装的PHP包 yum list installed | grep php 如果有安装的PHP包,先删除他们 yum remove php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 php-ldap.x86_64 php-mbstring.x86_64 php-mcrypt.x86_64 

centos下yum安装mysql5.6后,无法启动 MySQL Daemon failed to start

如果是全新安装应该就不会出现这个问题,升级安装的话,要运行 mysql_upgrade ,但是启动MYSQL就报错MySQL Daemon failed to start 如此就没办法运行mysql_upgrade升级MYSQL表了 因为是全新安装的数据库服务器就不管老数据了,直接把老的MYSQL数据库文件夹删除了,然后 运行 mysql_install_db 单独执行下命令,初始化mysql,test等数据库 初始化所有数据库以后,依然是无法启动,检查了MYSQL的日志发现没有权限,因为是RO

centos下yum安装lamp

CentOS下yum安装LAMP   1. 用yum安装Apache,Mysql,PHP. 1.1安装Apache yum install httpd httpd-devel 安装完成后,用/etc/init.d/httpd start 启动apache 设为开机启动:chkconfig httpd on 1.2 安装mysql 1.2.1 yum install mysql mysql-server mysql-devel 同样,完成后,用/etc/init.d/mysqld start 启动

centos 下yum 安装nginx

centos 下yum 安装nginx 1. 直接yum install nginx不行,要先处理下源: rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm 2. 查看源: yum info nginx 这时会提示有可安装的软件包 nginx | 2.9 kB 00:00nginx/primary_db | 15 kB 00:00可安装的软件包Nam

centOS下快速安装FFMPEG

因为项目需求要用到FFMPEG做一些音频处理(虽然也就压MP3封面, 音频压缩的简单功能), 在MAC下面安装的很顺利, 但是到了阿里云的centOS下面安装各种痛苦, google一搜索,如果自己从源码安装编译, 整个流程都2页, 按照流程做还各种报错, 安装太麻烦了, 要解决的问题太多. 继续搜索,运气比较好找到一个方法能很快速度安装的, 安装出来的版本不知道完不完整,不过足够做一些简单的音频处理 https://www.centos.org/forums/viewtopic.php?f=4

CentOS下yum安装mysql,jdk以及tomcat

首先说明,服务器是阿里云的,centos6.3_64位安全加固版.首先需要登陆进来,使用的是putty,因为最初的时候,Xshell登陆会被拒绝. 0. 创建个人文件夹 [java] view plaincopy # 使用 yum 安装tomcat 和 mysql # 创建文件夹 cd /usr/local mkdir renfufei 1. 安装rzsz [java] view plaincopy # 1. 安装rzsz yum update -y yum list lrzsz* yum in

Centos下Yum安装PHP5.5,5.6

默认的版本太低了,手动安装有一些麻烦,想采用Yum安装的可以使用下面的方案: 1.检查当前安装的PHP包 yum list installed | grep php 如果有安装的PHP包,先删除他们 yum remove php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 php-ldap.x86_64 php-mbstring.x86_64 php-mcrypt.x86_64 php-mysql.x86_64 php-pdo.x8

CentOS下yum安装mcrypt错误:No package php-mcrypt available.解决方法

错误描述: #yum install libmcrypt libmcrypt-devel mcrypt mhashSetting up Install ProcessNo package php-mcrypt available.Error: Nothing to do 我们会看到centos yum从仓库中根本找不到这几个包.但我不想使用源码编译就想使用yum安装,怎么办? 解决方法: yum  install epel-release  //扩展包更新包yum  update //更新yum