本系列文章导航
Windows下FFmpeg快速入门
ffmpeg参数解释
mencoder和ffmpeg参数详解(Java处理视频)
Java 生成视频缩略图(ffmpeg)
使用ffmpeg进行视频文件转换成FLV整理
java 视频处理 mencoder
java 视频处理 ffmped+mencoder
Mencoder是Mplayer自带的编码工具(Mplayer是Linux下的播放器,开源,支持几乎所有视频格式的播放,现在有windows和Mac版本)。
Mplayer的获得与配置:
Mplayer windows版本下载列表:
http://www5.mplayerhq.hu/MPlayer/releases/win32/[/url]
列表中会有版本发布日期,可以挑选最新的版本,也可以选择old/去下载老的版本,笔者用的是6月份的版本。下载后解压到某个文件夹中即可。
Codecs下载列表:
http://www5.mplayerhq.hu/MPlayer/releases/codecs/
选择windows-all-********.zip(*表示年月日)下载,将zip包中的文件夹下所有文件,包括*.dll、*.acm、*.ax等等全部copy到Mplayer根目录下的codecs文件夹中。
此时最好把Mplayer.exe所在路径,同时也是Mencoder.exe所在路径添加到环境变量path中。
现在可以试试用Mplayer播放视频,比如有个视频位于D:/music/APerfectMatch.wmv,那么可以打开一个cmd窗口,输入 mplayer “D:/music/APerfectMatch.wmv”,感受一下来自Linux的播放器吧,可以通过键盘来操纵。
Mencoder转换视频格式:
以将各种格式转换为flv格式为例(flv格式是flash支持的视频格式):
mencoder "E:/test.m2p" -o "E:/output.flv" -of lavf -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:dia=4:cmp=6:vb_strategy=1 -vf scale=512:-3 -ofps 12 -srate 22050
在命令行中输入这行代码(注意:windows的命令行是不支持换行的),按回车运行,一段时间之后就可以得到一个.flv文件,播放一下看看品质如何(可以直接用Mplayer播放)。
下图是我这边转换的效果对比,左边是原视频,右边是转换后的视频:
所有人都会觉得,转换后品质下降了很多,确实是这样,同时可以发现转换后的文件由原来的13M变成了1M,如果要提高品质,可以将vbitrate=500改为vbitrate=5000。
转换后的效果对比,左边是原视频,右边是转换后的视频:
品质几乎一样了,但同时,转换文件变成了6M。关于命令中的一些参数,解释一下:
-o "E:/output.flv":是输出文件路径;
-of lavf:是输出文件格式,这里不是flv而是lavf,是因为flv属于libavformat;
-lavfopts i_certify_that_my_video_stream_does_not_use_b_frames:-lavfopts表示对lavf进行一些设置,设置的内容就是i_certify_that_my_video_stream_does_not_use_b_frames,翻译成中文就是:我确定,我的视频不用B frames,对于转换flv格式,最好加上这个参数,否则可能会报错,如图:
-oac mp3lame:oac=output audio codec,输出音频编码器,这里用的mp3lame;
-lameopts abr:br=56:lame options,是专门针对mp3lame的参数设置,abr:br=56,是设置音频比特率为56(比特率:每秒钟输出的音频大小,单位kb/s);
博文来源:http://huqilong.blog.51cto.com/53638/136987