centos 卸载ffmpeg_Linux下ffmpeg的完整安装

最近在做一个企业项目, 期间需要将用户上传的视频转成flv格式或mp4格式并用flash插件在前端播放, 我决定采用ffmpeg (http://www.ffmpeg.org/ )实现. 当然以前也用过ffmpeg, 但是没有安装额外的库, 只是源代码下简单地 ./configure, 最后发现好多功能都用不了, 比如最流行的x264编码器. 所以决心完整地安装一下ffmpeg, 经过两天痛苦地折腾, 终于成功了, 现在将过程记录下来. 主要参考了 [1] 和 [2] 两篇博文, 其中 [1] 是2007年写成的, 其中所提到的依赖库版本比较老, 本人安装的都是相应最新的版本.

1 tar -zxvf lame-3.99.5.tar.gz2 cd lame-3.99.5

3 ./configure --enable-shared 4 make5 make install

2、libogg

libogg-1.3.1.tar.gz

Url:http://www.xiph.org/downloads/

安装方法如下:

1 ./configure 2 make3 make install

(libvorbis依赖于libogg, 所以libogg必须先于libvorbis安装)

安装方法如下:

1 ./configure 2 make3 make install

1 tar zvxf xvidcore-1.3.2.tar.gz2 cd xvidcore-1.3.2/build/generic3 ./configure4 make5 make install

1    tar -jxvf latest_x264.tar.bz2

2 ./configure

3 make

4 make install

1 tar -jxvf libdca-0.0.5.tar.bz22 cd libdca-0.0.5

3 ./configure 4 make5 make install

7、a52

a52dec-0.7.4.tar.gz

(这个库从2002年就没有更新过了)

http://liba52.sourceforge.net/downloads.html

安装方法:

1 ./configure 2 make3 make install

1 autoreconf -vif2 ./configure --with-mp4v2 --enable-shared3 make4 make install

1 tar zxvf faac-1.28.tar.gz2 cd faac-1.283 ./bootstrap4 ./configure 5 make6 make install

10、amr-nb

amrnb-10.0.0.0.tar.bz2

http://ftp.penguin.cz/pub/users/utx/amr/ ( 从此处下载最新版本 )

安装方法:

1 ./configure 2 make3 make install

11、amr-wb

amrwb-7.0.0.1.tar.bz2

http://ftp.penguin.cz/pub/users/utx/amr/ ( 从此处下载最新版本 )

安装方法:

1 ./configure 2 make3 make install

12、最关键的一步, 安装ffmpeg

1 ./configure --prefix=/usr/local/ffmpeg2 --enable-libmp3lame --enable-libvorbis --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libxvid --enable-postproc --enable-ffserver --enable-ffplay

2 make

3 make install

在./configure的时候会报错, 提示说没有libopencore-amrnb和libopencore-amrwb两个库. 我参考了 [2], 使用如下命令安装它们:

sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev

如果./configure的时候加入 --enable-shared, 编译安装没有问题. 但是运行ffmpeg命令就会出错:

relocation error: /usr/local/lib/libavfilter.so.3: symbol sws_get_class, version LIBSWSCALE_2 not defined in file libswscale.so.2 with link time reference;

这时可以参考 [3], 大意是说跟gstreamer的动态库冲突了, 要卸载gstreamer. 但是如果卸载了gstreamer我的多媒体软件多不能用了. 所以我卸载了ffmpeg并重新编译成静态库. 安装完之后, 运行ffmpeg成功, 输出如下:

ffmpeg version 2.0.1 Copyright (c) 2000-2013 the FFmpeg developers

built on Oct 25 2013 17:40:51 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)

configuration: --prefix=/usr/local/ffmpeg2 --enable-libmp3lame --enable-libvorbis --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libxvid --enable-postproc --enable-ffserver --enable-ffplay

libavutil 52. 38.100 / 52. 38.100

libavcodec 55. 18.102 / 55. 18.102

libavformat 55. 12.100 / 55. 12.100

libavdevice 55. 3.100 / 55. 3.100

libavfilter 3. 79.101 / 3. 79.101

libswscale 2. 3.100 / 2. 3.100

libswresample 0. 17.102 / 0. 17.102

libpostproc 52. 3.100 / 52. 3.100

Hyper fast Audio and Video encoder

usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

[1] http://yezi.iteye.com/blog/139399

[2] http://www.learndiary.com/2011/04/ubuntu-linux-%E4%B8%8B-ffmpeg-%E5%8F%8A-mencoder-%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8%E5%B0%8F%E7%BB%93/

[3] http://blog.csdn.net/nil_foc/article/details/6547047

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/329484.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1.概率论-组合分析

【README】 本文总结自《概率论基础教程》 by M.Ross ,墙裂推荐; 【1.3】排列(考虑顺序) 1)例3d: 用6个字母 PEPPER排列,共有多少种不同的排列方式? 2)推理 对于n个元素,如果其中n1个元素相同,其他n2个元素相同,......,nr个元素也相同,一共有 种不同排列方式;…

Oracle入门(十二B)之表创建

一、创建表(1)简单表 Create Table emp (Emp_id char(10) primary key,Emp_name varchar2(30),Sal number(5),Tel varchar2(20) ); (2)带参数的表格创建 create table emp (emp_id char (10) primary key,emp_name varchar2 (30),…

我的创作纪念日:感恩、感谢、感激!

/bin/bash 机缘 感恩、感谢、感激! 第一次进入到csdn,还是当初老师傅叫我们可以借鉴一下这里的文章 所以! 一开始进入到csdn网站,还以为这里也是和某些贴吧一样,一样的灌水呢! 但是正式在这里书写文章之后&#…

python中seaborn画swarm图_Python可视化 | Seaborn5分钟入门(四)——stripplot和swarmplot

微信公众号:「Python读财」如有问题或建议,请公众号留言Seaborn是基于matplotlib的Python可视化库。 它提供了一个高级界面来绘制有吸引力的统计图形。Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易&#xf…

第四篇 Entity Framework Plus 之 Batch Operations

用 Entity Framework 进行 增,删,改。都是基于Model进行的,且Model都是有状态追踪的。这样Entity Framework才能正常增,删,改。 有时候,要根据某个字段,批量更新或者删除数据,用Ent…

2.概率论-概率论公理

【README】 本文总结自《概率论基础教程》 by M.Ross ,墙裂推荐; 【2.2】样本空间和事件 1)样本空间 所有可能的结果构成的集合,称为该实验的样本空间,记为S;2)事件(一个集合,或样本空间的子集) 样本空间的任一子集E称为事件;或样本空间中选取若干个结果构成的集合…

Oracle入门(十二C)之表修改

一、列操作 (1)添加列alter table 表名 add (列名 数据类型 [default 表达式], ..);alter table tableName add temp varchar2(30);(2)修改列A.修改列类型和属性alter table 表名 modify (列名 数据类型 [default 表达式], ..)…

在ThoughtWorks工作12年的技术主管,所总结的12条技术人经验

原文: 12 years, 12 lessons working at ThoughtWorks 作者: Patrick,ThoughtWorks的技术主管兼敏捷顾问 编译: 孙薇 本文作者在ThoughtWorks工作了12年之久, 回顾了往昔工作之后,他得出了12条经验心得&…

3.条件概率与独立性

【README】 本文总结自《概率论基础教程》 by M.Ross ,墙裂推荐; 【3.2】条件概率 1)条件概率定义: 【补充】条件概率计算示例 【3.3】贝叶斯公式 1)通过第2个事件发生与否计算第1个事件的概率(非常重要…

python安装运行时提示不是内部或外部命令怎么办_如何解决cmd运行python提示不是内部命令...

python安装完成后,直接运行python.exe能够正常执行python程序。但是进入到cmd命令窗口(同时按下winr组合键后输入cmd进入),输入python命令提示“不是内部或外部命令”,遇到这种现象通常是没有将python的安装路径添加到环境变量中。在桌面上右…

Oracle入门(十二D)之表删除与删除表数据

一、删除表 drop table 表名; drop table t_userinfo;二、删除表数据 (1)DML操作deletedelete from 表名;(2)DDL操作truncatetruncate table 表名;三、恢复 (1)恢复删除的表 Oracle 10g提供恢复操作 flashb…

.NET Core VS Code 环境配置

VSCode .NET环境配置 在此之前我一直是使用notepad配置的C/C#环境来写代码,比起打开"笨重"的VS要方便很多.VSCode出来之后,本来也想折腾了一下,但是当时资料太少,配置没成功,也觉notepad就已经够了. 直到前几天在博客园看到园友LineZero分享的<<使用VS Code开发…

4.随机变量

【README】 本文总结自《概率论基础教程》 by M.Ross &#xff0c;墙裂推荐&#xff1b; 【4.1】随机变量 1&#xff09;随机变量&#xff1a; 定义在样本空间上的实值函数&#xff1b;即随机变量是一个函数&#xff08;或者一个映射&#xff0c;把事件映射到数值&#xff0…

Oracle入门(十二E)之视图操作

转载自 Oracle创建视图(View)视图&#xff1a;是基于一个表或多个表或视图的逻辑表&#xff0c;本身不包含数据&#xff0c;通过它可以对表里面的数据进行查询和修改。视图基于的表称为基表&#xff0c;Oracle的数据库对象分为五种&#xff1a;表&#xff0c;视图&#xff0c;序…

renderthread是什么_Android5.0中 hwui 中 RenderThread 工作流程

前言本篇文章是自己的一个学习笔记&#xff0c;记录了 Android 5.0 中 hwui 中的 RenderThread 的简单工作流程。由于是学习笔记&#xff0c;所以其中一些细节不会太详细&#xff0c;我只是将大概的流程走一遍&#xff0c;将其工作流标注出来&#xff0c;下次遇到问题的时候就可…

官方博客明确了 .NET Core RC2/RTM 时间表

.NET Core 经过了将近2年的开发&#xff0c;去年12月份发布的RC1版本&#xff0c;明确来说那只是一个beta版本&#xff0c;自从RC1发布以来&#xff0c;看到github里的RC2分支&#xff0c;整个工具链都发生了很大的变化&#xff0c;大家都在焦急的等待着微软发布.NET Core RC2,…

12.进程同步与信号量

【README】 1.本文内容总结自 B站 《操作系统-哈工大李治军老师》&#xff0c;内容非常棒&#xff0c;墙裂推荐&#xff1b; 2.进程同步&#xff1a; 让进程间的合作变得合理有序&#xff1b; 3.通过 信号量 来实现进程同步 &#xff1b; 4.操作系统借助信号量实现进程合作…

如何使 WebAPI 自动生成漂亮又实用在线API文档

1.前言 1.1 SwaggerUI SwaggerUI 是一个简单的Restful API 测试和文档工具。简单、漂亮、易用&#xff08;官方demo&#xff09;。通过读取JSON 配置显示API. 项目本身仅仅也只依赖一些 html,css.js静态文件. 你可以几乎放在任何Web容器上使用。 1.2 Swashbuckle Swashbuckle 是…

springboot超详细教程_SpringBoot五步配置Mybatis超简教程

第一步&#xff1a;Maven里面添加mybatis的引用jar包&#xff1a;org.mybatis.spring.bootmybatis-spring-boot-starter1.3.1com.github.pagehelperpagehelper-spring-boot-starter1.2.3mysqlmysql-connector-javaorg.springframeworkspring-tx第二步&#xff1a;在application…

13.信号量临界区保护

【README】 1.本文内容总结自 B站 《操作系统-哈工大李治军老师》&#xff0c;内容非常棒&#xff0c;墙裂推荐&#xff1b; 2.操作系统使用信号量实现进程同步&#xff08;合作&#xff09;&#xff0c;走走停停&#xff0c;推进多进程合理有序向前执行&#xff1b; 3.靠临…