http://www5.mplayerhq.hu/MPlayer/releases/win32/

http://www.cnblogs.com/niuniu502/archive/2007/06/17/786112.html

http://ffdshow.faireal.net/mirror/mplayer/

Mencoder是Mplayer自带的编码工具(Mplayer是Linux下的播放器,开源,支持几乎所有视频格式的播放,现在有windows和Mac版本)。

Mplayer的获得与配置:

Mplayer windows版本下载列表:http://www5.mplayerhq.hu/MPlayer/releases/win32/
列表中会有版本发布日期,可以挑选最新的版本,也可以选择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);

-ovc lavc:ovc=output video codec,输出视频编码器,lavc表示one of libavcodec’s video codec,输出格式为libavformat之一,编码器当然也是libavcodec之一啦,至于libavodec里都有哪些编码器,可以查看Mplayer的官方文档;

-lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:v4mv:trell:cbp:last_pred=3:dia=4:cmp=6:vb_strategy=1:对lavc进行一些设置,详细介绍如下:
vcodec=flv:指定视频编码器为flv;
vbitrate=500:指定视频比特率为500,这个参数很重要,vbitrate大了可以让视频品质增加,但会让文件变的很大(可以参考flash8自带的转换工具的参数:低品质为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会好点。

以上是对-lavcopts的详细解释,接下来继续说明mencoder的参数:

-vf scale=512:-3:-vf表示视频格式,scale是缩放,512:-3表示强制将宽度设置为512,高度写为-3表示保持高宽比,也可以设置为-1或-2,具体表示什么,有兴趣的可以尝试一下。如果要强制转化为统一大小,可以直接写-vf scale=640:480,但笔者个人建议用-3来保持高宽比。-vf里还有expand和crop参数,例如:-vf scale=512:384,expand=512:384:::1,crop=512:384:0:0,expand表示膨胀,crop表示裁剪;

-ofps 12:输出视频的帧频,一般,用于flash播放的视频帧频高了没有没有意义,反而会增加视频文件大小,但如果ofps设置的不合适,比如源视频帧频不是ofps的整数倍,可能会导致转换后的视频、音频不同步,似乎可以将这一参数改为-noskip来解决这一问题;

-srate 22050:音频采样率一般为22050或44100。

对于转换flv格式,lavsopts的设置比较重要,还有很多参数本文没有涉及到,在笔者参考的文献中会有具体的说明,感兴趣的可以去看一下。我对于Mencoder的认识主要也是来源于下面2篇文章,实践的比较少,如果有理解和翻译的失误,再次欢迎与我交流。

用Mencoder进行任意视频格式转换成flv

Mencoder 介绍相关推荐

  1. linux 音频路径,Linux系统中提取DVD音频的方法介绍(转)

    老婆借了盘DVD,非要让我把它想办法留下来.保存.vob是不现实了.为了给老婆展示一下Linux的强大,特地到网上攻读了一番. 很可惜的是:工作的最开始还是用了一下Windows,因为我的机器都没有D ...

  2. 视频压缩工具linux,Ubuntu视频转换工具-mencoder命令行参数

    因为刚好有些视频要转,google了一下,网上有很多Ubuntu视频转换工具mencoder的介绍,使用以后,觉得有必要汇总一下,留以他用. CODE: mencoder [options] file ...

  3. Mencoder MPlayer 参数详解

    MPlayer(1)                        电影播放器                        MPlayer(1) D>0>        mplayer  ...

  4. mencoder MPlayer 参数详细

    MPlayer(1)                        电影播放器                        MPlayer(1) D>0>        mplayer  ...

  5. Mencoder常用视频转换参数

    mencoder -ofps 15 -vf-add scale=176:144 -vf-add expand=176:144:-1:-1:1 -srate 44100 -ovc xvid -xvide ...

  6. java 视频处理 ffmped+mencoder

    本系列文章导航 Windows下FFmpeg快速入门 ffmpeg参数解释 mencoder和ffmpeg参数详解(Java处理视频) Java 生成视频缩略图(ffmpeg) 使用ffmpeg进行视 ...

  7. java + ffmped + mencoder搭建视频处理平台

    java + ffmped + mencoder搭建视频处理平台 ffmpeg+mencoder几乎可以完成目前基于web的播客平台任何音视频处理的操作.如果还需要添加一些什么的话,那么就是视频在线录 ...

  8. Ubuntu Linux 3D桌面完全教程 显卡驱动安装方法 compiz特效介绍

    [2011年5月7日更新] Ubuntu Linux 3D桌面完全教程,显卡驱动安装方法,compiz特效介绍,常见问题解答. 本教程的从2008年至今,经历了三个重大版本的修改: 最早是一善鱼编写并 ...

  9. Ubuntu 11.10 Linux 3D桌面完全教程,显卡驱动安装方法,compiz特效介绍,常见问题解答

    学技术怎么能不会用服务器,阿里云服务器现8折优惠,还有更多优惠券限量发放 https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.ht ...

最新文章

  1. SVM分类的一个例子
  2. Golang的匿名函数和闭包
  3. 通达学院计算机组成原理试卷及答案,2021全国网络工程专业大学排名(5篇)
  4. 单例模式——Java
  5. lvs-dr模式原理详解和可能存在的“假负载均衡”
  6. html中input、label、form、textarea、select
  7. python都可以开发什么_Python的优势到底是什么?Python都能开发什么?
  8. 3d建模电脑配置要求_3D建模学习对于电脑配置要求高不高?
  9. nginx日志统计分析的相关常用命
  10. ndk中杀线程的办法
  11. python写dnf脚本怎么过检测_python写dnf脚本巡山和捉妖无病毒
  12. 【Echarts】地图 中国城市经纬度Json
  13. 为什么要学习鸿蒙,HarmonyOS不只是操作系统
  14. 智能合约漏洞检测论文整理
  15. Python爬虫-爬取开心网主页(有登录界面-利用cookie)
  16. VIN码识别技术在移动端的应用
  17. 基于OpenCV的图片电影换背景小实验(可用于证件照替换背景)_计算机视觉
  18. Linux中的setuid简介
  19. IMDG中的陷阱和问题
  20. 强大的装逼,表白,炫富,恶搞短视频制作神器微信小程序源码支持多种流量主

热门文章

  1. BP神经网络解决什么问题
  2. UDF函数开发中的坑
  3. python(进阶篇)——自动化操作Excel(xlrd和xlwt)
  4. 类加载初始化顺序(nullpoint异常)
  5. Typora如何设置图片的位置更换保存路径
  6. iframe X-Frame-Options
  7. 网络协议(5) 详解 TCPIP 协议(完结)
  8. visio流程图工具安装包的下载和安装教程
  9. 2018百度之星程序设计大赛资格赛(4道题的答案)
  10. 19年职业院校技能大赛总结