CentOS下yum安装FFmpeg

By | 01月20日
Advertisement

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

图示:

CentOS下yum安装FFmpeg

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

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

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

转自:http://www.centoscn.com/image-text/install/2015/0523/5512.html

Similar Posts:

  • 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安装apache+php+mysql

    首先安装apache 使用以下命令列出可安装的资源: yum list httpd* #=> Loading "installonlyn" plugin Setting up repositories Reading repository metadata in from local files Available Packages httpd.x86_64                                  2.2.6-jason.2              

  • 阿里云CentOS下yum安装mysql,jdk以及tomcat

    分享自http://blog.csdn.net/renfufei/article/details/9733367

  • CentOS下编译安装LAMP环境

    CentOS下编译安装LAMP环境 引子 CentOS下编译安装LAMP环境是博主Tony一段难忘的时光,谨以此文献给奋战在潜龙班的新人们. 说明 首先要感谢<完美应用红帽企业版Linux>一书,博主在参阅了此书之后,经过二十几次的严格实验和修改写下此文,希望广大网友尊重作者的劳动,转载请注明出处. LAMP介绍 Linux+Apache+Mysql+PHP一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的

  • 转 Centos 使用YUM安装MariaDB

    转 Centos 使用YUM安装MariaDB 发表于1年前(2014-08-04 17:35)   阅读(1853) | 评论(0) 11人收藏此文章, 我要收藏 赞0 摘要 刚装完虚拟机心情大好打算编译安装MariaDB,但是一看各种cmake参数就头大了,哎,老实yum安装吧.转来这篇文章.我的是Centos7. MariaDB MySQL 目录[-] 1.在 /etc/yum.repos.d/ 下建立 MariaDB.repo,内容如下: 2.使用YUM安装MariaDB 3.启动数据库

  • Mongodb学习(安装篇): 在centos下的安装

    安装篇 ###下载解压文件 [[email protected] lamp]# wget http://fastdl.mongodb.org/linux/mongodb-linux-i686- 2.2.2.tgz ###解压文件 [[email protected] lamp]# tar zxvf mongodb-linux-i686-2.2.2.tgz ###查看解压文件 [[email protected] lamp]# ls mongodb-linux-i686-2.2.2 mongodb-linux-i686-2.2.2.tgz [root

  • [Linux]在Centos中yum安装和卸载软件的使用方法

    在Centos中yum安装和卸载软件的使用方法 安装方法 安装一个软件时 yum -y install httpd 安装多个相类似的软件时 yum -y install httpd* 安装多个非类似软件时 yum -y install httpd php php-gd mysql 卸载一个软件时 yum -y remove httpd 卸载多个相类似的软件时 yum -y remove httpd* 卸载多个非类似软件时 yum -y remove httpd php php-gd mysql

  • hadoop学习【6】——CentOS下eclipse安装和hadoop插件安装配置

    hadoop学习[6]--CentOS下eclipse安装和hadoop插件安装配置 一.CentOS下eclipse安装 在eclipse官网下载eclipse的linux版本(此处省略下载过程),我下载的是eclipse-jee-indigo-SR2-linux-gtk.tar.gz, 我这里也给出我网盘里的连接:http://pan.baidu.com/s/1yAObW 下面是安装过程(注意这里最好使用root权限进行操作,不然容易出现各种权限错误): 1.mv eclipse-jee-i

  • CentOS下g++安装

    操作系统:CentOS 6.* yum 安装g++时,用yum list的程序名不是 g++,而是 gcc-c++,否则搜不到. 先list: # yum list gcc-c++ Available Packages gcc-c++.i686                                       4.6.3.2-fc15                                         updates 然后安装: yum install gcc-c++.i6

  • linux下yum安装mysql步骤

    linux下yum安装mysql步骤 1安装(在h11上) 查看有没有安装过: yum list installed mysql* rpm -qa | grep mysql* [[email protected] bin]# rpm -qa |grep -i mysql mysql-libs-5.1.61-4.el6.i686 MySQL-client-5.6.10-1.linux_glibc2.5.i386 [[email protected] bin]# rpm -ev --nodeps mysql-l

Tags: