织梦CMS - 轻松建站从此开始!

罗索

带水印的编码服务器ffmpeg/mencoder安装配置笔记

落鹤生 发布于 2009-12-09 11:05 点击:次 
带水印的编码服务器ffmpeg/mencoder安装配置笔记
TAG:

1. MP3 支持:Lame
下载地址:http://lame.sourceforge.net/download.php
./configure –prefix=/blog.zhangjianfeng.com/app/mediasrv/lame-398-2

2.安装
libogg-1.1.3-13.2.i586.rpm
libogg-devel-1.1.3-13.2.i586.rpm
libvorbis-1.1.2-13.2.i586.rpm
libvorbis-devel-1.1.2-13.2.i586.rpm

3. Xvid 支持:xvidcore
下载地址:http://www.xvid.org
cd xvidcore-1.1.3/build/generic && ./configure –prefix=/blog.zhangjianfeng.com/app/mediasrv/xvidcore-1.1.3

4. H264/AVC 支持:x264
要压HQ1080、iPod和PSP的影片,x264是少不了的。
安装x264需要先安装yasm http://www.tortall.net/projects/yasm/wiki/Download
下载x264 http://www.videolan.org/developers/x264.html
# 也可以 git clone git://git.videolan.org/x264.git #会下载最新源码到在当前目录下x264
./configure –prefix=/blog.zhangjianfeng.com/app/mediasrv/x264-snapshot-20081007-2245

5. AC3 支持:liba52
http://liba52.sourceforge.net/
./configure –prefix=/blog.zhangjianfeng.com/app/mediasrv/a52dec-0.7.4

6. MPEG4 AAC 支持:faac、faad2
faac是用来压AAC音轨的,而faad2就是AAC音轨的解码器。手机铃音和MP4影片都是使用AAC作声音编码.

faad2
下载: http://downloads.sourceforge.net/faac/
tar zxf faad2-2.6.1.tar.gz
autoreconf -vif
./configure –prefix=/blog.zhangjianfeng.com/app/mediasrv/faad2 –with-mp4v2

faac
下载: http://downloads.sourceforge.net/faac/
tar zxf faac-1.26.tar.gz
./bootstrap &&   ./configure –prefix=/blog.zhangjianfeng.com/app/mediasrv/faac –with-mp4v2
要知道安装了faac和faad2之后有没有安装好libmp4v的话,只要找一找/usr/lib目录里有没有libmp4v2.so等一系列档案就可以了。找不到的话,就到http://resare.com/libmp4v2/dist/去下载,安装好之后再重头安装faac和faad2了。

7. 3GPP AMR Floating point 和 AMR-Wideband支持:libamrnb、libamrwb
3GP影片的影像是h263编码,而声音就用AMR-NB或AMR-WB编码,所以要转换手机影片,就要安装AMR链接库。
下载网址:http://www.penguin.cz/~utx/amr

./configure –prefix=/blog.zhangjianfeng.com/app/mediasrv/amrnb-7.0.0.2
./configure –prefix=/blog.zhangjianfeng.com/app/mediasrv/amrwb-7.0.0.3

8. 安装ffmpeg
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
./configure –prefix=/blog.zhangjianfeng.com/app/mediasrv/ffmpeg –enable-gpl –enable-shared –enable-libmp3lame –enable-libvorbis –enable-libamr-nb –enable-libamr-wb –enable-libxvid –enable-libx264 –enable-libfaac –enable-libfaad –enable-libfaadbin –enable-pthreads –disable-ffserver –disable-ffplay –enable-nonfree

9. 安装mplayer
## 安装所需的codecs
下载 http://www1.mplayerhq.hu/MPlayer/releases/codecs/all-20071007.tar.bz2
解压到/usr/lib/media/all-20071007/
svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer
#或到http://www.mplayerhq.hu/design7/dload.html下载
./configure –enable-gui –enable-largefiles –codecsdir=/usr/lib/media/all-20071007/

#Error: X11 support required for GUI compilation.错误解决办法,安装xorg-x11-devel-xxxxxx.rpm
#Error: The GUI requires GTK devel packages (which were not found).解决办法是,安装gtk2-devel-xxxxxxx.rpm

使用mencoder和ffmplayer转换各种影片格式到FLV
一.mencoder
mencoder test1.wmv -o test1.lavc-350kbps.flv   -of lavf -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=350:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:dia=4:cmp=6:vb_strategy=1 -vf scale=512:-3 -ofps 12 -srate 22050

各选项的含义:
-of lavf:是输出文件格式,这里不是flv而是lavf,是因为flv属于libavformat;
-oac oac=output audio codec 编码音频部分。这儿是mp3lame。
-oac mp3lame 音频采用mp3编码
-lameopts abr:br=56:
br是指设置音频比特率为56(比特率:每秒钟输出的音频大小,单位kb/s);
#-lameopts mode=3:cbr:br=32:vol=1,mode=3是音体声,mode=0单声道; vol=1-10控制音量
# -lameopts 顾名思义,即lame选项,这儿只需定义一下码率就可以了。
vbr 设定音频码率的方法
0 cbr average bitrate
1 mt
2 rh   constant bitrate Also forces CBR mode encoding on subsequent ABR presets modes.
3 abr
4 mtrh
br 就是设定我们所需要的码率值,格式为br=<0-1024>,只能在vbr为0和3的情况下才能使用该选项。
-ovc lavc #ovc=output video codec ;
-ovc 编码文件的视频部分。主要有以下几个选项
-ovc copy        不进行编码,只是复制视频流
-ovc divx4       编码成DivX4/DivX5
-ovc raw         编码成任意不压缩的格式(用‘-vf format’设定具体的格式)
-ovc lavc        使用libavcodec进行编码
-lavcopts vcodec=flv:vbitrate=350:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:dia=4:cmp=6:vb_strategy=1
# 对lavc进行一些设置,vcodec=flv:指定视频编码器为flv
# vbitrate=500:指定视频比特率为500(低品质为150kb/s,中等品质为400kb/s,高品质为700kb/s)
# mbd:宏模块选择算法,值为0~2默认为0,值越大转换越缓慢,但在品质和文件大小方面有好处;
# mv0:编译每个宏模块并选择最好的一个,当mbd=0时无效;
# v4mv:会稍微增加品质,mbd>0时效果更明显;
# trell:量子化网格搜索,对每8×8block找到最优化编码;
# cbp:只能和trell一期使用,评估失真的图像块编码;
# last_pred=3:与上一帧相比的移动数量预测,值为0~99,1~3比较合适,大于3时对品质的提高已经无关紧要,但却会降低速度;
# dia=4:移动搜索范围,值为-99~6,对于快速转换,-1是个不错的值,如果不是很重视速度,可以考虑2~4;
# cmp=6:值为1~2000,默认为0,设置用于全象素移动预算的比较函数
# vb_strategy=1:对动作很大的场景会有帮助,对有些视频,设置vmax_b_frames会有损品质,加上vb_strategy=1会好点。
-vf scale=512:-3 #5-vf表示视频格式,scale是缩放,512:-3表示强制将宽度设置为512,高度写为-3表示保持高宽比
-ofps 12 帧速率设置,现为12fps
-srate 22050 声音采样频率设置,现为22K

mencoder(mplayer) 的手册  http://www.mplayerhq.hu/DOCS/HTML/en/menc-feat-vcd-dvd.html

二.ffmpeg
高品质:ffmpeg -i infile -ab 128 -acodec libmp3lame -ac 1 -ar 22050 -r 29.97 -qscale 6 -y outfile
低品质:ffmpeg -i infile -ab 128 -acodec libmp3lame -ac 1 -ar 22050 -r 29.97 -b 512 -y outfile
使用h264转Mp4: ffmpeg -y -i b19e7cfa3bdc2ec11fe75ac3923242f8.mpeg -acodec libfaac -ar 22050 -ab 64k -vcodec libx264 -b 250k -s 320×240 -aspect 4:3   b19e7cfa3bdc2ec11fe75ac3923242f8.mp4
新的转FLV: ffmpeg -y -i 1.flv -vcodec ‘flv’ -acodec ‘libmp3lame’ -b 300k -s 320×240 -aspect 4:3 -ac 1 -ab 32k -ar 22050 1-sub.flv
新的转FLV并加水印: ffmpeg -y -i 1.flv -vcodec ‘flv’ -acodec ‘libmp3lame’ -b 300k -s 320×240 -aspect 4:3 -ac 1 -ab 32k -ar 22050   -vhook ‘/usr/lib/vhook/imlib2.so -x 5 -y 5 -i /zhangjianfeng.com/app/vconv/wm1.png’ 1-sub.flv
关于vhook加水印可以参考http://ffmpeg.mplayerhq.hu/hooks.html
ffmpeg -i $dst -y -f image2 -ss 10 -t 0.001 -s 320×240 image1.jpg #截图第10秒并存为image1.jpg
# imagemagick软件包中convert可以对图片进行截剪控制
# convert -scale `echo “$MVWIDTH 320″|awk ‘{print $1/$2*60}’` $SRCLOGO $DSTLOGO
-ab      bitrate      设置音频码率
-acodec codec        使用codec编解码
-ac      channels     设置通道,缺省为1
-ar      freq         设置音频采样率
-r       fps          设置帧频,缺省25
-b       bitrate      设置比特率,缺省200kb/s
-qscale 6或4         使用动态码率来设置
# 对于音频的ar(采样率)可以指定为22050、24000、44100或48000,一般来将后两种比较常见;对于音频的ab(码率)一般是选择32、 64、96或128这几种;对音频的acodec则是指定编码方式,可以指定为libmp3lame或aac等,这两种分别是指使用mp3和aac格式的音频。
# 对于视频的qscale,属于动态码率,可以设置为4或6,4的质量比6的要高。在测试的过程中我发现设置-b参数对视频的质量并没有过大的改变(指定大指定小都差不多或是一样),而设置qscale则完全不一样,如果我们想获取高品质的话应该使用动态码率而不是指定-b参数,当然了,使用动态码率的坏处就是视频的体积变大了。在使用动态码率的时候使用6的效果和4差不多,但是体积减少了,因此通常建议使用6来设置动态码率。
FFMPEG文档: http://ffmpeg.mplayerhq.hu/ffmpeg-doc.html
++对于rmvb格式,可用先用mencoder转成avi格式的
mencoder 01.rmvb -oac mp3lame -lameopts preset=64 -ovc xvid -xvidencopts bitrate=600 -of avi -o 01.avi

++要查看你的ffmpeg支持哪些格式,可以用如下命令:
$ ffmpeg -formats | less

++Format Constraints

 

(秩名)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/200912/8100.html]
本文出处:网络博客 作者:秩名
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容