ffmpeg安装在linux哪个目录

ffmpeg安装在linux哪个目录,第1张

Linux下ffmpeg的完整安装最近在做一个企业项目, 期间需要将用户上传的视频转成flv格式或mp4格式并用flash插件在前端播放, 我决定采用ffmpeg (http://www.ffmpeg.org/ )实现. 当然以前也用过ffmpeg, 但是没有安装额外的库, 只是源代码下简单地 ./configure, 最后发现好多功能都用不了, 比如最流行的x264编码器. 所以决心完整地安装一下ffmpeg, 经过两天痛苦地折腾, 终于成功了, 现在将过程记录下来. 主要参考了 [1] 和 [2] 两篇博文, 其中 [1] 是2007年写成的, 其中所提到的依赖库版本比较老, 本人安装的都是相应最新的版本. 首先要安装各种解码器 1、lame lame-3.99.5.tar.gz Url:http://sourceforge.net/project/showfiles.php?group_id=290&package_id=309 安装方法如下:1 tar -zxvf lame-3.99.5.tar.gz 2 cd lame-3.99.5 3 ./configure --enable-shared 4 make 5 make install 2、libogg libogg-1.3.1.tar.gz Url:http://www.xiph.org/downloads/ 安装方法如下:3、libvorbis libvorbis-1.3.3.tar.gz Url:http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz(libvorbis依赖于libogg, 所以libogg必须先于libvorbis安装)安装方法如下:1 ./configure 2 make 3 make install 4、xvid xvidcore-1.3.2.tar.gz Url:http://downloads.xvid.org/downloads/xvidcore-1.3.2.tar.gz 安装方法如下:5、x264 latest_x264.tar.bz2 (其中包含的目录是 x264-snapshot-20131023-2245) Url:http://www.videolan.org/developers/x264.html ftp://ftp.videolan.org/pub/videolan/x264/snapshots/ 安装方法如下:1234 1  tar -jxvf latest_x264.tar.bz22 ./configure 3 make 4 make install 6、libdts libdca-0.0.5.tar.bz2Url: http://www.videolan.org/developers/libdca.html安装方法:7、a52 a52dec-0.7.4.tar.gz (这个库从2002年就没有更新过了) http://liba52.sourceforge.net/downloads.html 安装方法:8、faad2 faad2-2.7.tar.gz http://www.audiocoding.com/downloads.html 安装方法9、faac faac-1.28.tar.gz http://www.audiocoding.com/downloads.html安装方法:10、amr-nb amrnb-10.0.0.0.tar.bz2 http://ftp.penguin.cz/pub/users/utx/amr/ ( 从此处下载最新版本 )安装方法:11、amr-wb amrwb-7.0.0.1.tar.bz2 http://ftp.penguin.cz/pub/users/utx/amr/ ( 从此处下载最新版本 )安装方法:1 ./configure 2 make 3 make install 12、最关键的一步, 安装ffmpeg123 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-ffplay2 make 3 make install 在./configure的时候会报错, 提示说没有libopencore-amrnb和libopencore-amrwb两个库. 我参考了 [2], 使用如下命令安装它们:1 sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev如果./configure的时候加入 --enable-shared, 编译安装没有问题. 但是运行ffmpeg命令就会出错:1 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成功, 输出如下:12345678910111213 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 libavformat55. 12.100 / 55. 12.100 libavdevice55. 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 libpostproc52. 3.100 / 52. 3.100Hyper fast Audio and Video encoderusage: 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

% lame [参数] <输入文件名>[<输出文件名>]

如需查询更多参数,可输入下列命令:

% lame --help

=======================================================================

固定码率的例子:

=======================================================================

固定码率 联合立体声 128kbps编码:

% lame sample.wav sample.mp3

固定码率 联合立体声 128kbps编码,较高质量:(推荐)

% lame -h sample.wav sample.mp3

快速编码,较低质量(无噪音修整)

% lame -f sample.wav sample.mp3

=======================================================================

动态比特率的例子:

=======================================================================

LAME具有两种动态比特率编码:ABR和VBR。

ABR(平 均码率)是一种动态比特率编码。其他MP3编码器、Vorbis和ACC经常使用这种编码。其码率由一些度量所决定(比如,信息源中可感知的平均信息量、 或者仅为编码表中某些设定参数所必需的码率),而不是基于实际上编码/量化误差的计算值。ABR编码质量至少不会比CBR编码质量差,甚至要比CBR编码 质量好:

ABR: (--abr <x>表示在x kbps附近取一个平均码率进行编码。)

lame -h --abr 128 sample.wav sample.mp3

VBR(可变码率)是真正的动态比特率形式。在此形式下,每帧的编码都会先以推测的允许遮蔽运算为基准,对量化误差进行修正。然后,再根据修正后的量化误差决定该帧的码率。目前,正在大规模开发VBR。

在过度压缩的情况下,VBR编码得到的音频会出现问题,所以,VBR编码的码率不得低于112kbps。以下代码将会在那些难编码的帧中,使LAME提升其编码码率,但是也会导致在易编码的帧中,使LAME不会优化其编码码率:

可变码率(VBR):(使用-V以调整质量/文件大小)

% lame -h -v -b 112 sample.wav sample.mp3

=======================================================================

低码率

=======================================================================

在 较低码率,(比如每声道24kbps),推荐使用与低通滤波相结合的16kHz采样率。与其它商业编码器一样,LAME会自动采用上述方式编码。但是,如 果觉得低通滤波太多(或者不够),则需要试着调整低通滤波的裁取值以及通频带的宽度(通过使用--resample,--lowpass和 --lowpass-width等参数)。

=======================================================================

流媒体

=======================================================================

% cat 输入档名 | lame [参数] - - >输出

包含的脚本(在'misc'子目录中)

使用lame编码多个文件:

bach脚本:mlame 运行"mlame -?"以查看其用法说明。

sh脚本:auenc运行auenc以查看其用法说明。

sh脚本:mugeco.sh

Pearl脚本可重编码mp3文件和保存id3标签:

lameid3.pl

Windows脚本:

lame4dos.bat

Lame.vbs (以及一个HTML前端:LameGUI.html)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8537837.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-17
下一篇2023-04-17

发表评论

登录后才能评论

评论列表(0条)

    保存