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

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

 

posted on 2012-01-01 22:32  李玉龙  阅读(511)  评论(0)    收藏  举报

导航