mplayer命令行模式下的使用方法http://hi.baidu.com/lovehack2006/blog/item/162ef9778214111eb051b9d4.htmlMPlayerMPlayer
是我在 Linux 系统中用到的相当好的媒体播放程序,它因支持播放广泛的音/视频文件格式而著称。本文所要探讨的,除却一般的使用方法之外,更包括一些鲜为人知的提示和诀窍。相信在阅读此文后,你的多媒体播放体验将会增色不少。



播放文件



使用 MPlayer 播放媒体文件最简单的方式是:

mplayer <somefile> 



MPlayer 会自动检测文件的类型并加以播放,如果是音频文件,则会在命令行中显示该播放文件的状态信息;而假如是视频文件的话,则会打开一个新的播放窗口。



倒退与快进



在播放文件的时候,你可以通过以下三组快捷键来对播放进程进行倒退与快进操作:



左方向键和右方向键:分别执行倒退 10 秒和快进 10 秒操作 

下方向键和上方向键:分别执行倒退 1 分钟和快进 1 分钟操作 

下翻页键和上翻页键:分别执行倒退 10 分钟和快进 10 分钟操作 

播放 DVD



虽然 MPlayer 不支持 DVD 菜单,但是却能够播放 DVD。你可以这样播放 DVD:

mplayer dvd://<titlenumber> 



你需要使用实际的数字来替换 <titlenumber>,如 1、2、3 等。



使用字幕



当播放电影文件时,你可以指定字幕文件:

mplayer -sub <somesubtitlefile> <somefile> 



在播放 DVD 电影时,你也可以通过指定语言代码来使用字幕:

mplayer dvd://<titlenumber> -slang nl,en 



这样,MPlayer 就会优先使用荷兰语字幕,如果该语言不可用,则再使用英语字幕。



有用的快捷键



以下是 MPlayer 中一些有用的快捷键:



f-当播放视频时,在全屏和窗口模式之间切换。你也可以在命令行中使用 -fs 选项,以便让 MPlayer 开始在全屏模式中播放。 

o-在播放视频时切换 OSD(OnScreen Display)模式。 

p 或 Space-暂停/继续播放。 

q 或 Esc-退出 MPlayer。在 GUI 模式时,Esc 不会退出,仅停止播放。 

/ 和 * 或 9 和 0-减小或增大音量。 

m-静音切换。 

T(通常是 Shift + t)-播放窗口置顶切换。 

b 和 j-在可用的字幕间循环。 

x 和 z-调整字幕的延迟时间。 

I(Shift + i)-显示播放电影的文件名称。 

1 和 2-调整对比度。 

3 和 4-调整亮度。 

5 和 6-调整色度。 

7 和 8-调整饱和度。 

生成索引



有时候,有些视频文件(主要是 AVI 文件)包含损坏的索引,或者根本就没有索引。这种情况通常是由下载文件不正确或未完成造成的。幸运的是,MPlayer 能够生成正常播放文件所需的索引。通过使用 -idx 选项,你可以告诉 MPlayer 来生成索引:

mplayer -idx <somefile> 



有时候文件虽然包含索引,但却已损坏。那样的情况,你可能需要 MPlayer 强制生成索引:

mplayer -forceidx <somefile> 



根据视频文件的大小,生成索引需花费一定的时间。但在此后,文件应该能够正常播放。



纠正错误的音频/视频同步



有些视频文件(主要是 flv 文件)由于编码的问题,会给 MPlayer 带来音频/视频同步的麻烦。这有两种可能情况:



MPlayer 会尝试修复,但同步问题却更遭。 

MPlayer 会尝试修复那些正确的,因此没有必要同步。 

对于第一种情况,你应当让 MPlayer 努力修复同步问题:

mplayer -autosync 30 -mc 2.0 <somefile> 



而对于第二种情况,你不应当允许 MPlayer 去修复同步问题:

mplayer -autosync 0 -mc 0 <somefile> 



将 上述命令中的 autosync 设置为正值就会让 MPlayer 逐渐调整音频/视频的同步。值越高,MPlayer 越快地修复它。mc 选项指定 MPlayer 纠正每帧要多少秒。值越高,MPlayer 越认为接近修复音频/视频同步。设置为 0 则阻止 MPlayer 修复。



在慢系统上使用 MPlayer



MPlayer 允许在旧的或慢的系统上使用低 CPU 功率来播放视频文件。你可以使用 -framedrop 选项:

mplayer -framedrop <somefile> 



当播放 MP3 或 OGG Vorbis 文件时,你可能感受到一定的缓冲,这将影响你的音乐体验。那样的话,你可以尝试使用 libmad(MP3)或 Tremor(OGG Vorbis)音频解码器。你可以这样来检测它们:



对于 MP3:

mplayer -ac help | grep mad 



如果上面的命令返回的结果像这样:

mad libmad working libMAD MPEG layer 1-2-3 [libmad] 



那么你可以使用 libmad 播放 MP3:

mplayer -ac mad <somefile> 



在 OGG 的情况中,你可以使用同样的技巧来检测 tremor 音频解码器是否可用:

mplayer -ac help | grep tremor 



播放流媒体



如果 MPlayer 无法自动找到播放列表或直接的流媒体文件,你可以尝试使用 -playlist 选项:

mplayer -playlist <file or url> 



同时你也可以设置较大的缓存:

mplayer -cache 8192 -playlist <file or url> 



指定缓存大小的单位是 KB,上面的命令将允许 MPlayer 使用 8 MB 缓存。你可以使用 -cache-min 选项来改变 MPlayer 占用缓存的百分比:

mplayer -cache 8192 -cache-min 50 -playlist <file or url> 



循环播放



如果你想让媒体文件循环播放,可以使用 -loop 选项:

mplayer -loop 3 <somefile> 



上面的命令将播放 <somefile> 3 次,然后才退出。

mplayer -loop 0 <somefile> 



上面的命令将永远重复播放 <somefile>。



改变播放速度



你可以使用 -speed 选项来改变 MPlayer 播放媒体文件的速度。值为 1.0,意味着正常速度;0.5 意味着慢两倍;2.0 意味着快两倍。像这样指定选项:

mplayer -speed 2.0 <somefile> 



改变采样率



使用 -srate 选项你可以改变 MPlayer 输出的采样率:

mplayer -srate 48000 <somefile> 



将音频输出为 wav 文件



你可以将视频文件中的音频部分输出为 wav 文件:

mplayer -ao pcm <somefile> 



这将输出名为 audiodump.wav 的音频文件。你也可以为输出的 wav 文件指定名称:

mplayer -ao pcm:file=<filename>.wav <somefile> 



使用 ASCII 方式观看电影



虽然无用,但却很好玩。有两个库文件支持该特性:aa 和 caca。使用 libaa,你只能在黑白 ASCII 中观看电影。而 libcaca 支持色彩。然而,libaa 支持更广泛。你可以像这样使用 libaa 观看电影:

mplayer -vo aa <somefile> 



如果你想使用 libcaca:

mplayer -vo caca <somefile> 



将电影输出为系列图片



MPlayer 也能将电影输出为一系列的图片:

mplayer -vo jpeg <somefile> 



注意:上面的命令将产生数量巨大的 jpeg 文件。输出的 jpeg 文件名看起来像这样:00000001.jpg、00000002.jpg、00000003.jpg 等等。



你也可以输出其他的格式。只需将命令中的 jpeg 替换成 ppm、png、tga 等。



指定纵横比



当你在宽屏中播放电影时,可能想要使用 16:9 的纵横比:

mplayer -aspect 16:9 <somefile> 



在非宽屏中,你可以使用 4:3 的纵横比。



将选项放置到 MPlayer 的配置文件中



对于一般用户来说,该配置文件位于 ~/.mplayer/config;全局的配置文件在 /etc/mplayer/config。不同的值使用行分隔,如:



# MPlayer config file

srate=48000

ao="pcm:file=dumpedaudio.wav"





创建播放列表:



$ ls $HOME/music > music.lst



添加

echo music.mp3 >> music.lst



删除

用编译器打开music.lst删除你想删除的



播放

$ mplayer -playlist music.lst #也有可能是mplayer --playlist music.lst,记不清啦,自己看一下mplayer --help

mplayer命令行模式下的使用方法【转】的更多相关文章

  1. 如何在命令行模式下查看Python帮助文档---dir、help、__doc__

    如何在命令行模式下查看Python帮助文档---dir.help.__doc__ 1.dir函数式可以查看对象的属性,使用方法很简单,举str类型为例,在Python命令窗口输入 dir(str) 即 ...

  2. 在命令行模式下查看Python帮助文档---dir、help、__doc__

    在命令行模式下查看Python帮助文档---dir.help.__doc__   1.dir函数式可以查看对象的属性,使用方法很简单,举str类型为例,在Python命令窗口输入 dir(str) 即 ...

  3. Linux命令行模式下安装VMware Tools详细步骤

    在Linux命令行模式安装VMware Tools 方法/步骤1: 首先启动CentOS 7,在VMware中点击上方"VM",点击"Install VMware Too ...

  4. Linux在终端命令行模式下智能补全功能以及组合键

    linux命令行下也有很多热键(快捷键).先来看看tab键 1.如果想看看linux下以c开头的命令可直接在命令行下敲入c然后连续敲两次tab,再选择y,会显示所有以c开头的命令. 2.涉及到文件时, ...

  5. mysq在命令行模式下执行shell命令

    mysql可以在命令行模式下执行shell命令 mysql> help For information about MySQL products and services, visit: htt ...

  6. php命令行模式下加载的php.ini文件可能和web模式下加载的php.ini不一致

    php命令行模式下加载的php.ini文件可能和web模式下加载的php.ini不一致 命令行下查看加载的php.ini的路径: php -i|grep php.ini web模式下查看: <? ...

  7. 命令行模式下 MYSQL导入导出.sql文件的方法

    一.MYSQL的命令行模式的设置:桌面->我的电脑->属性->环境变量->新建->PATH=“:path\mysql\bin;”其中path为MYSQL的安装路径.二.简 ...

  8. windows命令行模式下无法打开python程序解决方法

    今天刚开始学Python,首先编写一个简单地hello world程序,想在命令行模式运行,结果出现下面: 经过一番思考,发现用cd命令可以解决这件事,看下图: 这样就解决了.

  9. VIM命令行模式下的相关知识

    当按下:键时, Vim会切换到命令行模式: 重复上次执行的EX命令,只需按@:就可以: 在一行或多个连续行执行命令 很多的EX全天候可以指定操作范围,如行号,位置标记等: 以:print命令作为演示, ...

随机推荐

  1. Spring 资源注入

    Spring开发中经常需要调用各种资源,包含普通文件.网址.配置文件.系统环境变量等,我们可以使用Spring表达式语言(Spring-EL)实现资源的注入. Spring主要使用@Value注解实现 ...

  2. 1.2 UML带来了什么(学习笔记)

    需求->需求分析->设计->开发 uml 编号 uml元素 对于语言理解 1 元模型 基本词汇 2 表示法或视图 语法 3 RUP 方法(统一软件开发过程)  方法 4 控制类 定语 ...

  3. Django ORM调优实践

    一.分析请求慢响应的主要原因 将请求执行的任务按功能分为几块,用time.time()打印每个模块的执行时间,大部分情况下性能会主要消耗在某一个模块上,即80%的性能问题是出在20%的代码上 找到主要 ...

  4. TVP思享 | 四个全新维度,极限优化HTTP性能

    导语 | 当产品的用户量不断翻番时,需求会倒逼着你优化HTTP协议.那么,要想极限优化HTTP性能,应该从哪些维度出发呢?本文将由TVP陶辉老师,为大家分享四个全新维度.「TVP思享」专栏,凝结大咖思 ...

  5. java中高级并发SPI机制

    Java SPI 实际上是“基于接口的编程+策略模式+配置文件”组合实现的动态加载机制. 适用于:调用者根据实际使用需要,启用.扩展.或者替换框架的实现策略. 要使用Java SPI,需要遵循如下约定 ...

  6. WPF 添加提示动画

    下面放一张效果图: 那么具体是怎么实现呢: 前端XAML中: <Image Source="/Images/tips.png" HorizontalAlignment=&qu ...

  7. Eclipse直接运行算法第4版例子(重定向和读取指定路径文件)

    Eclipse直接运行算法第4版例子(重定向和读取指定路径文件)   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://b ...

  8. 【Java基础总结】IO流

    字节流 1. InputStream 字节输入流 代码演示 InputStream in = System.in; System.out.println("int read(byte b) ...

  9. Java项目之客户信息管理软件

    模拟实现基于文本界面的客户信息管理软件,该软件能够实现对客户对象的插入. 修改和删除(用数组实现),并能够打印客户明细表. 项目采用分级菜单方式.主菜单如下: “添加客户”的界面及操作过程如下所示: ...

  10. cannot mount volume over existing file, file exists /var/lib/docker/overlay2/.../merged/usr/share/zoneinfo/UTC 解决

    问题产生原因: linux系统docker-compose.yml文件 放到 mac本启动发现启动报错 cannot mount volume over existing file, file exi ...