MEncoder 是一个简单的影片编码程序,它可用于将视频或者音频文件在 MPlayer 可播放的格式当中互相转换。说到 MEncoder 就不得不知道 MPlayer。MPlayer 是一款为 Linux 编写的电影播放器。它能播放大部分 XAnim、RealPlayer 以及 Win32 DLL ×××支持的 MPEG、VOB、AVI、OGG/OGM、VIVO、ASF/WMA/WMV、QT/MOV/MP4、FLI、RM、NuppelVideo、 yuv4mpeg、FILM、RoQ、PVA、Matroska 文件。它也可以观看 VideoCD、SVCD、DVD、3ivx、RealMedia、Sorenson、Theora、以及 MPEG-4 影片。
一、MEncoder 的下载及安装(解压缩)
MEncoder 可以从它的官方网站(http://www.mplayerhq.hu) 下载,包括以下三个文件,解压缩后即可以直接使用,无须安装。
1、MPlayer 1.0 RC2 for Windows:MPlayer 和 MEncoder 的主文件,下载后解压到硬盘的任意位置,比如 D:\Mplayer;
2、MPlayer 1.0 RC2 for Windows GUI:MPlayer 的用户界面,用于播放媒体文件;
3、Binary Codec Packages:解码、编码过程中所需的编码、解码 包,解压后放在 MPlayer 的级目录 Codecs,比如 D:\MPlayer\Codecs。
二、关于 Libavcodec
Libavcodec 是目前领先的并开放源码的视频和音频编×××库。它能够解码的媒体格式最多,通常解码的速度也是最高的。它是 MPlayer 支持的默认×××。
Libavcodec 支持的音频编码格式如下:
Libavcodec 支持的视频编码格式如 下:
 
Libavcodec 支持的容器格式如 下:
三、示例:使用 MEncoder 把一个 MPEG-2 文件压缩成一个 AVI 文件
以下命令中把一个 MPEG-2 文件(扩展名为 MPG )转换成一个 AVI 文件(Divx 视频编码,MP3 音频编码):
mencoder.exe input.mpg -oac mp3lame -lameopts aq=3:abr:br=128 -srate 44100 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1200 -ffourcc DX50 -vf scale=480:360,crop=640:478:0:0,harddup -ofps 30 -o output.avi
1、-oac mp3lame:(output audio codec)指定输出媒体文件的音频编码类型。此例中选择的是 mp3lame。其它可以选择的编码如下表所示:
2、-lameopts aq=3:abr:br=128:(lame options)指定 LAME 的编码设置。aq 为编码质量,它的值为 0~9,数字越小音频的数字失真就越小,编码的时间就越长;编码方式包括有 abr(按平均码率编码)、cbr(指固定码率编码)、vbr(按动态码率编码)三种;br=128 则指定编码码率为 128kbps。
3、-srate 44100:(sample rate)指定音频的采样频率。频率通常有 22050、32000、44100 等几种。
4、-ovc lavc:(output video codec)指定输出媒体文件的视频编码类型。此处选择的是 Libavcodec 的视频编码,其它可以选择的编码如下表所示:
5、-lavcopts vcodec=mpeg4:vbitrate=1200:(Libavcodec options)指定视频编码的设置。由于 Libavcodec 包含了多种视频编码,所以用 vcodec=mpeg4 来指定具体的使用 MPEG-4 编码,vbitrate 是设定视频编码的码率为 1200kbps。
6、-fourcc DX50:(four character code)指定视频数据流格式的四字符代码。通常视频播放软件通过查询 FourCC 代码并且寻找与 FourCC 代码相关联的视频×××来播放特定的视频流。比如 DIV3 = DivX Low-Motion、DIV4 = DivX Fast-Motion、DIVX = DivX4、DX50 = Divx5 等等。
7、-vf scale=480:360,crop=640:478:0:0,harddup:(video filters)指定编码的视频滤镜设置。scale=480:360 用于指定输入媒体文件的画面大小,宽度为 480 像素,高度为 360 像素。crop=638:477:1:2 是剪栽选项,从原始画面的座标(1,2)为起点,截取 638×477 像素的图像。
注意,命令里的 scale 参数放在 crop 参数之前,表示“先缩放后剪栽”,如果 crop 参数放于 scale 参数之前,则表示“先剪栽后缩放”。
8、-ofps 30:(output fps)指定输出媒体文件的帧速,30fps 指每秒种播放 30 个画面。
9、-o output.avi:(output)指定转换后输入媒体的文件名。
四、示例:使用 Mencoder 将一个 RMVB 文件转换成一个 PMP 文件(PSP 游戏机专用)
需要使用到以下三个命令:
(1)mencoder.exe input.rmvb -sws 9 -ofps 23.976 -vf harddup,pp=md/lb,scale=480:272 -ovc x264 -ffourcc H264 -x264encopts qp_constant=25 -srate 44100 -af volnorm -oac mp3lame -lameopts aq=3:cbr:br=128:vol=1 -o video.avi
  (2)mencoder.exe video.avi -oac copy -ovc copy -of rawaudio -o audio.mp3
  (3)pmp_muxer_avc.exe -v video.avi -a audio.mp3 -s 1000 -r 23976 -d 1 -o output.pmp
  1、第一个命令是将 RMVB 转换成视频为 H264 编码、音频为 MP3 编码的 AVI 文件,其中:-sws 9 参数指定了编码的采样使用 Lanczos3 算法(如果不指定则采用线性采样),可以获得更具体的细节和更精细的画面;qp_constant=25 指定了视频编码的质量,在压缩 PSP 媒体的时候一般选择 20(最优)~25(普通);-af volnorm (volume normalize)设置了音频编码时音量规格化。
2、第二个命令是将音频部份从第一个命令生成的 video.avi 中提取出来,其中:-of rawaudio (output filter)指定了只输出音频部分而忽略视频部分。
3、第三个命令是将 video.avi 和 audio.mp3 合成 PMP 文件。pmp_muxer_avc.exe 文件须要另外下载,在各个 PSP 论坛里都可以找到。PMP 和 AVI 一样,是媒体文件的一种容器格式,并非是编码格式,而 MEncoder 并不直接支持 PMP 容器,所以须要借助一下第三方的工具。
五、使用 MEncoder 压制 DVD 影碟和处理字幕
  MEncoder 可以直接压制 DVD 或者 VCD 的内容,将 DVD 或者 VCD 放入光驱,使用如下命令:
mencoder.exe dvd://2 -chapter 1-8 -alang eng -slang zh -aspect 16/9 -ovc -lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=694 -vop scale -zoom -xy -640 -oac mp3lame -lameopts abr:br=128:vol=9 -o output.avi
  1、dvd://2:指定压缩 DVD 影碟中的第 2 个标题内容。
2、-chapter 1-8:指定压缩第 1-8 个章节的内容,如不指定,则压缩整个标题的内容。有关 DVD 根目录(Root)、标题(Title)、章节(Chapter)的概念请查阅相关的资料。
3、-alang eng:(audio language)指定被压缩的 DVD 音频为英文。大多数 D 版的 DVD 影碟都没有明确地标记出音频的语言,比如英语(eng)、日语(jap)、朝鲜语(kor)等,这时可以使用 -aid (audio ID)来指定压缩第几条音轨,比如 -aid 2。
4、-slang zh:(subtitle language)指定被压缩 DVD 的字幕为中文。此参数与 -alang 参数相似,没有标记字幕语言的影碟也可以使用 -sid (subtitle ID)来代替。
5、-aspect 16/9:(aspect ratio)指定影片的高宽比。通常有 4/3、5/4、16/9、2.35/1 等,根据 MEncoder 版本的不同,有可能写成 4:3、5:4、16:9、2.35:1。
6、-zoom -xy 640:压缩影片时进行缩放,640 是指定了影片的宽度,高度则根据高宽比 16:9 自动计算。
  另外,MEncoder 可以从 DVD 直接输出外挂式的 VOBSub(idx+sub)字幕,例如:
mencoder.exe dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -vobsubout subtitles -vobsuboutindex 0 -sid 2
命令运行成功后生成了 subtitles.idx 和 subtitles.sub 两个文件。

转载于:https://blog.51cto.com/davinci/344100

MEncoder 使用实例相关推荐

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

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

  2. 前端开发基础知识汇总

    一.HTML 1.前言与常用标签 浏览器 内核 备注 IE Trident IE.猎豹安全.360极速浏览器.百度浏览器 firefox Gecko 可惜这几年已经没落了,打开速度慢.升级频繁.猪一样 ...

  3. Spring Cloud微服务系统架构的一些简单介绍和使用

    Spring Cloud 目录 特征 云原生应用程序 Spring Cloud上下文:应用程序上下文服务 引导应用程序上下文 应用程序上下文层次结构 改变Bootstrap的位置Properties ...

  4. 生成影片的预览图像另Mencoder和ffmpeg使用实例小全

    首先,截取影片图像使用最多的就是mplayer或者ffmpeg,我用mplayer比较熟,本文就以此为例了,ffmpeg功能也是非常强大的,但据说支持的文件格式却不丰富.mplayer截取影片图像的基 ...

  5. Mencoder MPlayer 参数详解

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

  6. mencoder MPlayer 参数详细

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

  7. python制作简单动画_Python通过matplotlib简单绘制动画实例

    Matplotlib是一个Python的2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形.通过Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条 ...

  8. python制作简单动画_Python通过matplotlib绘制动画简单实例

    Matplotlib是一个Python的2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形. 通过Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱, ...

  9. MEncoder 多种视频格式快速转压——使用手册!

    http://freetravel.blog.sohu.com/846099.html 分类: 电脑-数码2006-02-06 15:25 题目:MEncoder 多种视频格式快速转压--使用手册!( ...

最新文章

  1. Yoshua Bengio等大神传授:26条深度学习经验
  2. zookeeper分布式锁代码实例
  3. 实现一个正则表达式引擎in Python(三)
  4. python魔法函数和装饰器_python魔法方法、构造函数、序列与映射、迭代器、生成器...
  5. group by 汇总
  6. 易到用车提现再度被延期?!声明:因贾跃亭所欠债务导致
  7. Spring的xml文件配置方式实现AOP
  8. VMware 12安装Mac OS X 10.11解决上网的问题
  9. XBMC源代码简析 5:视频播放器(dvdplayer)-解复用器(以ffmpeg为例)
  10. vue脚手架搭建项目的兼容性配置
  11. ios中xib的使用介绍
  12. 从键盘录入10个整数,统计有多少个奇数,Java基础轻松实现
  13. 服务器修改开机启动项,启动项设置_服务器开机启动项
  14. 2022华为软件精英挑战赛
  15. win7自带tftp服务器,如何打开tftp服务器,笔者教你Win7系统TFTP服务器怎么开启
  16. Ubuntu安装wine
  17. 训练指南 UVALive - 5713(最小生成树 + 次小生成树)
  18. 风火编程--opencv使用记事
  19. 热乎乎的宇宙头条校招前端面经
  20. 诺基亚Vertu Constellation root教程_方法

热门文章

  1. html文档定义层标记是,jsp练习题目201312
  2. 程序员的成功是否有规律可循?
  3. C语言探秘:C代码在内存中的分布
  4. Nokia落寞身影下 三星成为全球最大手机厂商
  5. vue中的slot插槽
  6. 沉淀再出发:Spring的架构理解
  7. Linux 基本操作--文件查看 (day3)
  8. [Swift]LeetCode916.单词子集 | Word Subsets
  9. Request的getHeader()和getParameter()的区别
  10. PHP 获取服务器详细信息【转】