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) |
CentOS下yum安装FFmpeg的更多相关文章
- centOS下yum安装配置samba
centOS下yum安装配置samba 2010-03-29 15:46:00 标签:samba yum centOS 安装 休闲 注意:本文的原则是只将文件共享应用于内网服务器,并让将要被共享的目 ...
- centos下yum安装crontab+mysql自动备份
参考博文: centos下yum安装crontab yum install vixie-cron crontabs //安装 chkconfig crond on ...
- <亲测>CentOS中yum安装ffmpeg
CentOS中yum安装ffmpeg 1.升级系统 sudo yum install epel-release -y sudo yum update -y sudo shutdown -r now 2 ...
- [转载]centos下yum安装samba及配置
centos下yum安装samba及配置 在我们使用 Windows 作为客户机的时候,通常有文件.打印共享的需求.作为Windows 网络功能之一,通常可以在 Windows 客户机之间通过Wind ...
- centos下yum安装lamp和lnmp轻松搞定
centos下yum安装lamp和lnmp轻松搞定.究竟多轻松你看就知道了.妈妈再也不操心不会装lamp了. 非常辛苦整理的安装方法,会持续更新下去.凡无法安装的在评论里贴出问题来,会尽快解决.共同维 ...
- centos 下yum 安装nginx
centos 下yum 安装nginx 1. 直接yum install nginx不行,要先处理下源: rpm -ivh http://nginx.org/packages/centos/6/noa ...
- Linux下yum安装ffmpeg和使用
本文属于转载文章:转载地址是http://www.cnblogs.com/dennisit/archive/2012/12/27/2835089.html 使用Yum安装ffmpeg 打开 vi /e ...
- CentOS中yum安装ffmpeg
1.升级系统 sudo yum install epel-release -y sudo yum update -y sudo shutdown -r now 2.安装Nux Dextop Yum 源 ...
- CentOS下yum安装
centos最小化安装不会装yum,以下是安装方法:(所有操作均在ROOT用户下,系统版本是centos7) 一.删除原有YUM # rpm -aq|grep yum|xargs rpm -e --n ...
随机推荐
- measure layout onMeasure() onLayout()
1.onMeasure() 在这个函数中,ViewGroup会接受childView的请求的大小,然后通过childView的 measure(newWidthMeasureSpec, heightM ...
- Cocos Studio编辑器运行日志路径
有时候打开Cocos Studio直接崩溃,要想查找原因就要查log了,网上找了好久才找到日志路径,在你工作空间下面的CocosStudio2\logs. 工作空间就是安装时候设置的那个路径.
- C++随机数生成方法(转载,赶紧搜藏)
一.C++中不能使用random()函数 =============================================================================== ...
- python线程池ThreadPoolExecutor用法
线程池concurrent.futures.ThreadPoolExecutor模板 import time from concurrent.futures import ThreadPoolExec ...
- LeetCode 笔记系列九 Search in Rotated Sorted Array
题目: Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 ...
- Angular2+学习第2篇 cli 环境搭建过程
Angular-cli是angular团队针对Angular2提供的脚手架,用于环境搭建,运行等:具体参考Angular-cli GitHub Angular的启动过程,需要先回答三个问题: 启动时加 ...
- java -jar后台启动
nohup java -jar XX.jar >logs.log &
- 160401、关于cronExpression的介绍
关于cronExpression的介绍: 每一个字段都有一套可以指定有效值,如 Seconds (秒):可以用数字0-59 表示, Minutes(分) :可以用数字0-59 表 ...
- 安装mysql最后一步未响应,卡死。(解决方法mySql5.5,以及安装教程)
安装教程:http://www.server110.com/mysql/201308/784.html 重装mysql的时候,总是在提交配置后的最后一步,安装失败,进程管理器里显示程序无响应,mysq ...
- 把www.domain.com均衡到本机不同的端口 反向代理 隐藏端口 Nginx做非80端口转发 搭建nginx反向代理用做内网域名转发 location 规则
负载均衡-Nginx中文文档 http://www.nginx.cn/doc/example/loadbanlance.html 负载均衡 一个简单的负载均衡的示例,把www.domain.com均衡 ...