`
weiyuhu
  • 浏览: 235890 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

linux下安装ffmpeg过程

阅读更多
最近互联网视频共享的网站很火,公司也想搞类似的网站,初步是用fms+ffmpeg形式

fms负责在线录制,播放,ffmpeg则在后台处理上传的资源转换成一定的格式。

为了让ffmpeg支持的格式尽量多,所以特把我的编译笔记分享一下

环境:redhat as4

1。首先获取ffmpeg

很多人找不到怎么下载,其实之前ffmpeg可以通过cvs下载,不过最近他已经换成了更加强大的svn

如何使用SVN我这里不再介绍,网上还有大量的安装和使用的文章可以借鉴,这里简单罗列几个SVN辅助的软件:

SubVersion,从 http://subversion.tigris.org/ 下载,支持linux,我们这里就装这个

TortoiseSVN,从 http://tortoisesvn.tigris.org/ 下载,是很不错的SVN客户端程序,为windows外壳程序集成到windows资源管理器和文件管理系统的Subversion客户端,用起来很方便,commit动作变得就像Winrar右键压缩一样方便。


ok,那我们先装subversion,记住最好之前装过apr和apr-util,在apache.org网站能下到

wget http://subversion.tigris.org/downloads/subversion-1.3.2.tar.gz
tar zvxf subversion-1.3.2.tar.gz
cd subversion-1.3.2
./configure --with-apr=/usr/local/apr-httpd --with-apr-util=/usr/local/apr-util-httpd/
make
make install


到此,我们就可以通过svn命令获取最新的ffmpeg了

svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

你会发现在你所在的目录,自动出现一个ffmpeg的目录,就是你下载的源代码。


我们还不能这么快编译ffmpeg,应该如果要让ffmpeg支持更多格式的转换,还需做一些前期工作


2.支持mp3,linux当然是lame,下载解压

cd lame-3.96.1
./configure --enable-shared --prefix=/usr
这里推荐尽量装在/usr下,默认是装在/usr/local下。这样ffmpeg编译都能顺利的找到库文件

//3以后的都没安装成功,不知是否系统不同的原因
3.支持Ogg Vorbis:
as4自带相应的rpm包,你可以安装一下如下rpm包
libvorbis, libvorbis-devel,libogg, libogg-devel


4.支持xvid x264,现在最流行的两种高质量的压缩格式
xvid的编译安装
wget http://downloads.xvid.org/downloads/xvidcore-1.1.0.tar.gz
tar zvxf xvidcore-1.1.0.tar.gz
./configure --prefix=/usr
make
make install

x264的获取同样是采用svn方式,看来svn取代cvs不远了
svn co svn://svn.videolan.org/x264/trunk x264
cd x264
./configure --prefix=/usr --enable-shared
make
make install


5.AC3和dts编码的支持
as4系统似乎已经支持ac3编码,编译的时候只要加--enable-a52 --enable-gpl参数就行

libdts编译参数
./configure --prefix=/usr
make
make install


6.mpg4 aac格式支持,由于服务器还针对手机用户服务,所以,类似aac,mpg4铃声格式的支持,我们也得做。这里我们安装faad2和faac就行
下载请到http://www.audiocoding.com/modules/mydownloads/

FAAD2的编译
cd faad2
autoreconf -vif
./configure --prefix=/usr --with-mp4v2 --enable-shared
make
make install

faac的编译
cd faac
chmod +x bootstrap
./bootstrap
./configure --prefix=/usr --with-mp4v2 --enable-shared
make
make install


7.支持3gp格式,这也是现在好多手机支持的格式,因为手机用户是我们的主要用户,所以也得支持编译

编译的时候加上--enable-amr_nb --enable-amr_wb参数就行,根据编译系统的提示,所以我们得下载一

些编译3gp所需得文件。

wget http://www.3gpp.org/ftp/Specs/ar ... 6.204/26204-510.zip
解压以后把里面的文件都拷贝到libavcodec/amrwb_float

wget http://www.3gpp.org/ftp/Specs/ar ... 6.104/26104-510.zip
解压以后把里面的文件都拷贝到libavcodec/amr_float


好了,基本ffmpeg支持的格式,我们基本都做好前期准备了,下面是ffmpeg的编译


./configure --prefix=/usr --enable-gpl --enable-shared --enable-mp3lame --enable-amr_nb --enable-amr_wb --enable-amr_if2 --enable-libogg --enable-vorbis --enable-xvid --enable-a52 --enable-a52bin --enable-faadbin --enable-dts --enable-pp --enable-faad --enable-faac --enable-x264 --enable-pthreads --disable-ffserver --disable-ffplay
make
make install

补充1:
关于3gp的编译,如果大家要编译--enable-amr_nb-fixed,那就不能跟--enable-amr_nb同时编译,我不大清楚这两者到底有什么区别,似乎fixed是修正版,管他呢,编译的方法:
wget http://www.3gpp.org/ftp/Specs/ar ... 6.073/26073-510.zip
解压以后把里面的文件都拷贝到libavcodec/amr目录下

修改libavcodec/amr/makefile 找到CFLAGS = -Wall -pedantic-errors -I. $(CFLAGS_$(MODE)) -D$(VAD) 换成CFLAGS = -Wall -I. $(CFLAGS_$(MODE)) -D$(VAD) -DMMS_IO

整体编译参数就是
./configure --prefix=/usr --enable-gpl --enable-shared --enable-mp3lame --enable-amr_nb-fixed --enable-amr_wb --enable-amr_if2 --enable-libogg --enable-vorbis --enable-xvid --enable-a52 --enable-a52bin --enable-dts --enable-pp --enable-faad --enable-faadbin --enable-faac --enable-x264 --enable-pthreads --disable-ffserver --disable-ffplay
make
make install

补充2:
有朋友说在当在cpu是x86的情况下,不能编译过去,我这里没发生过这情况,如果你真编译不过去,可以试着加上cpu=cpu

ok,一个强大的ffmpeg编译好了,不过目前管方的ffmpeg还不支持wma9和rmvb,不过网上有很多解决方法,大家去自己找找。


我的编译的环境suse
1.tar zxvf lame-3.97b2.tar.gz
2.cd lame-3.97
3./configure
4 make
5 make install
6 cd ffmpeg
7 ./configure --enable-mp3lame --enable-small
8. make
9 make install

编译后的运行:
./ffmpeg -i "**/**.avi" -y -f image2 -t 0.001 -s 300*200 "**/test.jpg"

./ffmpeg -i "**/**.avi" -y -ab 56 -ar 22050 -b 500 -r 15 -s 320*240 "**/test.flv"

./fmpeg -i "**/**.avi" "**/test.mpg"
分享到:
评论

相关推荐

    linux下安装FFmpeg命令,亲测可用

    以下是对"linux下安装FFmpeg命令,亲测可用"这一主题的详细解释。 1. **FFmpeg简介** FFmpeg是跨平台的音频和视频处理工具,包含了一系列的命令行工具,如ffmpeg、ffplay、ffprobe等,用于编码、解码、转码、合并、...

    Linux一键安装ffmpeg脚本

    因此,"Linux一键安装ffmpeg脚本"就是为了简化这个过程,使得用户能够快速便捷地在Linux系统上安装FFmpeg。 这个一键安装脚本通常会包含以下步骤: 1. **更新系统**:首先,脚本会检查并更新系统的包列表,确保...

    Linux下安装ffmpeg库

    ### Linux下安装ffmpeg库 #### 知识点一:FFmpeg简介及用途 - **FFmpeg**是一款强大的跨平台音视频处理工具集,能够进行音视频的编码、解码、转码、复用、解复用、流媒体传输、滤镜处理等功能。 - 它包含了一系列...

    linux 下安装 ffmpeg

    在Linux环境下安装FFmpeg是一项常见的任务,特别是在进行多媒体处理或流媒体服务时。FFmpeg是一个强大的开源工具,用于处理音频和视频文件,包括转换、编码、解码、封装和流化。下面将详细介绍如何在Linux系统中安装...

    Linux下FFmpeg的安装包

    安装完成后,FFmpeg的命令行工具就可以在全局路径下使用了。你可以通过`ffmpeg -version`来检查安装是否成功。 需要注意的是,由于FFmpeg的版本不断更新,新版本可能会包含更多的特性和支持。因此,建议定期更新...

    LInux下如何安装ffmpeg

    以下是在Linux下安装FFmpeg及其依赖库的详细步骤: 首先,确保你的系统已经安装了必要的编译工具,如GCC和make。如果没有,可以通过包管理器进行安装。例如,在Ubuntu或Debian上运行: ```bash sudo apt-get update...

    Linux安装ffmpeg脚本

    在Linux环境下,通过脚本安装FFmpeg可以自动化整个过程,提高效率并确保安装正确无误。以下是一份详细的FFmpeg在Linux上的安装教程。 首先,我们需要准备必要的依赖库和编译工具。在大多数Linux发行版中,这通常...

    Linux下使用ffmpeg录屏代码

    1. 安装`ffmpeg`库:在Linux系统上,可以通过包管理器如`apt-get`或`yum`安装。例如,在Ubuntu上运行`sudo apt-get install libavcodec-dev libavformat-dev libavutil-dev`。 2. 引入库:在C++代码中,使用`#...

    Linux环境傻瓜式nginx+rtmp+ffmpeg套餐安装详解(获取拉流人数)

    本文通过详细介绍Nginx、RTMP和FFmpeg在Linux环境下的安装与配置过程,以及如何获取在线拉流人数的方法,为读者提供了一套完整的解决方案。通过本文的学习,读者不仅能掌握核心组件的安装配置技能,还能深入了解流...

    Linux下编译ffmpeg的wasm库

    在Linux环境下编译FFmpeg的WebAssembly库是一个技术性较强的过程,主要涉及到FFmpeg的源码编译和WebAssembly的交叉编译。FFmpeg是一个强大的开源多媒体处理框架,广泛用于音视频的编码、解码、转码等任务。而...

    linux ffmpeg 完整安装包

    以上就是 Linux 环境下安装 FFmpeg 4.0.2 及其插件的完整过程,涵盖了从下载源码到安装、配置、验证的各个环节,以及与多媒体处理相关的知识点。在实际操作中,可能还需要根据具体需求调整配置选项,以满足不同应用...

    linux 下ffmpeg安装包

    二、Linux下安装FFmpeg 在Linux环境下,通常有多种方法安装FFmpeg: 1. 使用包管理器:对于Ubuntu或Debian用户,可以通过运行以下命令来安装: ``` sudo apt-get update sudo apt-get install ffmpeg ``` 对于...

    ffmpeg Linux安装文件

    在Linux环境下,FFmpeg的安装对于Java开发者尤其重要,因为可以利用它来实现在JAVA应用程序中进行视频格式转换和截图功能。 ### 1. FFmpeg介绍 FFmpeg是一个命令行工具,提供了丰富的功能,如转码、合并、分割、...

    Linux下安装FFMPEG必要库及相关文件

    在Linux环境下安装FFmpeg,通常涉及到多个依赖库的安装,这些库为FFmpeg提供了必要的功能支持。本压缩包包含了安装FFmpeg所需的各种组件,方便用户一次性安装,避免了逐个下载的繁琐过程。 1. **编译环境**: 在安装...

    linux版FFmpeg-4.1(带运行环境,可直接运行)

    总而言之,这个Linux版的FFmpeg-4.1是一个包含了所有必需组件的免安装版本,旨在简化用户的安装和使用过程,尤其对于那些需要快速进行多媒体处理工作的用户来说,这是一个非常实用的工具。记得查看“使用说明.txt”...

    Linux下ffmpeg的配置资源压缩包

    总结,这个“Linux下ffmpeg的配置资源压缩包”提供了一个方便快捷的方式来安装FFmpeg,免去了逐个下载和安装依赖库的麻烦。对于需要在Linux环境中处理多媒体文件的用户来说,这是一个非常实用的工具。

    ffmpeg linux下安装包

    下面将详细介绍在Linux下安装FFmpeg的步骤和相关知识点。 首先,你需要了解Linux发行版的包管理器,因为FFmpeg的安装通常依赖于这些管理器。例如,对于基于Debian的系统(如Ubuntu),我们使用`apt`,对于基于RPM的...

    一键安装ffmpeg4.1.3(大全).zip

    总的来说,安装FFmpeg需要理解其依赖关系,并且需要一定的Linux系统管理和编译经验。通过上述步骤,你将能够成功安装FFmpeg 4.1.3,同时支持多种编码和解码格式,从而实现音视频处理的各种需求。

Global site tag (gtag.js) - Google Analytics