Board logo

标题: [文件操作] 命令行播放音视频之MPlayer [打印本页]

作者: cjiabing    时间: 2010-10-7 17:35     标题: 命令行播放音视频之MPlayer

使用暴风影音播放视频的时候,偶尔会在进程里看到MPlayer.exe,查找路径D:\Program Files\StormII\codec,将其拖入CMD窗口就看到帮助文件了:
  1. C:\>"D:\Program Files\StormII\codec\MPlayer.exe"
  2. MPlayer Sherpya-SVN-r28311-4.2.5 (C) 2000-2009 MPlayer Team
  3. CPU: Intel(R) Pentium(R) M processor 1.60GHz (Family: 6, Model: 13, Stepping: 8)
  4. CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
  5. Compiled with runtime CPU detection.
  6. Usage:   mplayer [options] [url|path/]filename
  7. Basic options: (complete list in the man page)
  8. -vo <drv>        select video output driver ('-vo help' for a list)
  9. -ao <drv>        select audio output driver ('-ao help' for a list)
  10. vcd://<trackno>  play (S)VCD (Super Video CD) track (raw device, no mount)
  11. dvd://<titleno>  play DVD title from device instead of plain file
  12. -alang/-slang    select DVD audio/subtitle language (by 2-char country code)
  13. -ss <position>   seek to given (seconds or hh:mm:ss) position
  14. -nosound         do not play sound
  15. -fs              fullscreen playback (or -vm, -zoom, details in the man page)
  16. -x <x> -y <y>    set display resolution (for use with -vm or -zoom)
  17. -sub <file>      specify subtitle file to use (also see -subfps, -subdelay)
  18. -playlist <file> specify playlist file
  19. -vid x -aid y    select video (x) and audio (y) stream to play
  20. -fps x -srate y  change video (x fps) and audio (y Hz) rate
  21. -pp <quality>    enable postprocessing filter (details in the man page)
  22. -framedrop       enable frame dropping (for slow machines)
  23. Basic keys: (complete list in the man page, also check input.conf)
  24. <-  or  ->       seek backward/forward 10 seconds
  25. down or up       seek backward/forward  1 minute
  26. pgdown or pgup   seek backward/forward 10 minutes
  27. < or >           step backward/forward in playlist
  28. p or SPACE       pause movie (press any key to continue)
  29. q or ESC         stop playing and quit program
  30. + or -           adjust audio delay by +/- 0.1 second
  31. o                cycle OSD mode:  none / seekbar / seekbar + timer
  32. * or /           increase or decrease PCM volume
  33. x or z           adjust subtitle delay by +/- 0.1 second
  34. r or t           adjust subtitle position up/down, also see -vf expand
  35. * * * SEE THE MAN PAGE FOR DETAILS, FURTHER (ADVANCED) OPTIONS AND KEYS * * *
复制代码
试着播放了一个音频:
  1. C:\>"C:\Program Files\StormII\codec\MPlayer.exe" "F:\美了美了 汤潮 小沈阳.mp3"
复制代码
接着播放了一个视频:
  1. C:\>"C:\Program Files\StormII\codec\MPlayer.exe" "F:\盗梦空间.avi"
复制代码
当然,视频并非在CMD窗口播放,而是弹出新的窗口。
如要停止播放,按下Q键即可。
再试下播放网络歌曲
  1. C:\>"C:\Program Files\StormII\codec\MPlayer.exe"  http://www.mmwoool.com.cn/2.mp3
复制代码
以下是说明
  1. mplayer是命令行方式的MPlayer播放器,gmplayer是GUI方式的MPlayer播放器,而mencoder是解码器。
  2. MPlayer用法:
  3. 用法:   mplayer [options] [url|path/]filename
  4. 基本选项: (包括所有选项的周详列表参见manpage!)
  5. -vo  选择视频输出模式和设备(用’-vo help’查看列表)
  6. -ao  选择音频输出模式和设备(用’-ao help’查看列表)
  7. vcd://  从设备而不是普通文件上播放VCD(video cd)track
  8. dvd://  从设备而不是普通文件上播放DVD title/track
  9. -alang/-slang   选择DVD音轨/字幕的语言(使用两位的国家代码)
  10. -ss    寻找指定的(多少秒或hh:mm:ss)位置
  11. -nosound        不播放声音
  12. -fs -vm -zoom   全屏播放选项(fullscr,vidmode chg,softw.scale)
  13. -x  -y    设置播放的分辨率(用于改动vidmode或软件缩放)
  14. -sub      指定使用的字幕文件(参见-subfps, -subdelay)
  15. -playlist  指定使用播放列表文件
  16. -vid x -aid y   选择用于播放的视频(x)和音频(y)流
  17. -fps x -srate y 改动视频(x fps)和音频(y Hz)率
  18. -pp    使用后期处理滤镜(周详内容参见manpage/docs)
  19. -framedrop      使用 frame-dropping (用于慢机器)
  20. 基本控制键: (完整的列表参见manpage, 同时也要检查一下 input.conf)
  21.        向后/向前搜索10秒
  22. up or down      向后/向前搜索1分钟
  23. pgup or pgdown  向后/向前搜索10分钟
  24.            跳到播放列表中的前一首/下一首
  25. p or SPACE      暂停播放(按任意键继续)
  26. q or ESC        停止播放并推出
  27. + or -          调整音频延迟+/-0.1秒
  28. o               循环OSD模式:  none/seekbar/seekbar+timer
  29. * or /          增加或减少pcm音量
  30. z or x          调整字幕延迟+/-0.1秒
  31. r or t          上/下调整字幕位置, 参见-vf expand!
  32. 例如以下命令播放~movies/hyj.rmvb文件:
  33. /opt/feiy/player/MPlayer1.0/bin$mplayer ~movies/hyj.rmvb
  34. 当然也能在KDE中,使用打开方式->其他,选择mplayer打开的方式打开。
复制代码
  1. MPlayer是一款开源软件,任何人都可以永久免费安装使用。
  2. mplayer: http://www.mplayerhq.hu
  3. mpui: http://mpui.sf.net
  4. 官网帮助文件:http://www.mplayer.org.cn/help_zh.html
  5. 官网下载:http://www.mplayer.org.cn/
复制代码

[ 本帖最后由 cjiabing 于 2010-10-9 21:41 编辑 ]
作者: cjiabing    时间: 2010-10-7 17:41     标题: 转载下别人的说明做参考

MPlayer 是我在 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
作者: powerbat    时间: 2010-10-7 18:45

跟批处理有关系吗?有招摇撞骗的嫌疑。
不要一见到命令就说是批处理。DOS也不叫Batch System
不能把命令和批处理等同起来,不要太敏感。
作者: cjiabing    时间: 2010-10-7 20:51     标题: 回复 3楼 的帖子

哈哈,既然如此,那还是把标题改回“命令行版mplayer”好了!~
能为批处理所用就好,谁叫批处理本身那么贫穷嘛!~
作者: cjiabing    时间: 2010-10-7 20:55

::暂时用来听歌,还没空写“ S、设置选项”部分。

  1. @echo off&setlocal enabledelayedexpansion
  2. title 命令行版MPlayer播放器 V1.2
  3. ::by cjiabing
  4. ::暂时用来听歌,还没空写“ S、设置选项”部分。
  5. ::如程序MPlayer.exe非默认安装在系统目录下请自行修改。
  6. set mp="%ProgramFiles%\StormII\codec\MPlayer.exe"
  7. :start
  8. cls
  9. echo.
  10. echo.
  11. echo                           命令行版MPlayer播放器
  12. echo.
  13. echo.
  14. echo                               S、设置选项
  15. echo                               F、辅助功能
  16. echo                               h、帮助说明
  17. echo.
  18. echo.
  19. if not "%CD:~-1,1%"=="\" (set cd=%cd%\) else (set cd=%cd%)
  20. echo      ★ 拖入音频、视频文件、TXT播放列表开始播放。
  21. echo      ★ 可使用TAB键获取当前目录文件。
  22. echo      ★ 可使用Url地址播放网络音乐。
  23. echo      ★ 如存在_playlists.txt可直接回车播放。
  24. echo.
  25. set /p inf=     %cd%
  26. if exist %inf% if  "!inf:~-4,4!"==".txt" (set pp=-playlist&&goto b) else (goto b)
  27. if  "%inf%"=="" if exist _playlists.txt (set inf=_playlists.txt&set pp=-playlist&goto b) else (goto start)
  28. ::不可调和的引号"%inf%"==""""
  29. if /i "!inf:~0,4!"=="http" goto b
  30. if /i %inf%==S goto s
  31. if /i %inf%==F goto f
  32. if /i %inf%==H goto h
  33. goto start
  34. :b
  35. cls
  36. echo.==========================================================================
  37. echo   ★★★正在播放,请勿对窗口进行其它操作以免发生故障,停止请按 Q 键★★★  
  38. echo.==========================================================================
  39. if exist %mp% (IF defined pp (%mp% %pp% %inf%) else (%mp% %inf%)) else (goto fd)
  40. ping /n 3 127.0.1>nul
  41. goto start
  42. :s
  43. goto start
  44. -playlist  指定使用播放列表文件
  45. -nosound        不播放声音
  46. -ss    寻找指定的(多少秒或hh:mm:ss)位置
  47. -fs -vm -zoom   全屏播放选项(fullscr,vidmode chg,softw.scale)
  48. -x  -y    设置播放的分辨率(用于改动vidmode或软件缩放)
  49. -sub      指定使用的字幕文件(参见-subfps, -subdelay)
  50. -alang/-slang   选择DVD音轨/字幕的语言(使用两位的国家代码)
  51. -vid x -aid y   选择用于播放的视频(x)和音频(y)流
  52. -fps x -srate y 改动视频(x fps)和音频(y Hz)率
  53. -pp    使用后期处理滤镜(周详内容参见manpage/docs)
  54. -framedrop      使用 frame-dropping (用于慢机器)
  55. -vo  选择视频输出模式和设备(用’-vo help’查看列表)
  56. -ao  选择音频输出模式和设备(用’-ao help’查看列表)
  57. vcd://  从设备而不是普通文件上播放VCD(video cd)track
  58. dvd://  从设备而不是普通文件上播放DVD title/track
  59. echo.
  60. pause
  61. goto start
  62. :fd
  63. echo.
  64. echo      没有找到MPlayer.exe文件,尝试搜索……
  65. if exist "D:\Program Files\StormII\codec\MPlayer.exe"  set mp="D:\Program Files\StormII\codec\MPlayer.exe"&&goto b
  66. for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do  if exist %%a:\  cd /d %%a:\ && for /r %%i in (MPlayer.exe) do if exist %%i set mp="%%i"&&goto b
  67. echo.
  68. echo      搜索MPlayer.exe文件失败,请确认你的系统安装有MPlayer.exe程序!
  69. echo      一般暴风影音目录下会有该文件,如无请从MPlayer官网下载安装!
  70. echo.
  71. ping /n 5 127.0.1>nul
  72. goto start
  73. :F
  74. cls
  75. echo.
  76. echo.
  77. echo               获取指定路径下指定文件名与扩展名的文件列表
  78. echo                       查找音视频文件生成播放列表
  79. echo.
  80. echo.
  81. echo       路径名,有空格需引号,如:
  82. echo           "D:\Program Files\easy"
  83. echo.
  84. echo       搜索词,可用通配符“?”和“*”,多个搜索词之间用空格隔开,如:
  85. echo           *.mp3  *.rmvb  *.wmv  
  86. echo           *.mp3     搜索所有MP3文件;
  87. echo           *爱*.*    搜索含有某字的所有文件;
  88. echo           ?梦??.rm  搜索文件名只有四个字且第二个字是“梦”的所有RM文件。
  89. echo.
  90. echo       常见音频格式:*.mp3 *.wma *.wav
  91. echo       常见视频格式:*.mp4 *.flv *.3gp *.mpg *.avi *.wmv *.rm *.rmvb
  92. echo.
  93. echo.
  94. set /p mp3p=输入搜索的路径名(如 F:\  ):
  95. set /p mp3x=输入搜索的搜索词(如 *.mp3):
  96. cd.>_playlists.txt
  97. for /r %mp3p% %%a in (%mp3x%) do echo %%a>>_playlists.txt
  98. echo.
  99. echo       已在当前目录生成的文件列表_playlists.txt。
  100. echo.
  101. pause
  102. goto start
  103. :h
  104. cls
  105. echo.
  106. echo   基本控制键: (完整的列表参见manpage, 同时也要检查一下 input.conf)
  107. echo          向后/向前搜索10秒
  108. echo   up or down      向后/向前搜索1分钟
  109. echo   pgup or pgdown  向后/向前搜索10分钟
  110. echo              跳到播放列表中的前一首/下一首
  111. echo   p or SPACE      暂停播放(按任意键继续)
  112. echo   q or ESC        停止播放并推出
  113. echo   + or -          调整音频延迟+/-0.1秒
  114. echo   o               循环OSD模式:  none/seekbar/seekbar+timer
  115. echo   * or /          增加或减少pcm音量
  116. echo   z or x          调整字幕延迟+/-0.1秒
  117. echo   r or t          上/下调整字幕位置, 参见-vf expand!
  118. echo   例如以下命令播放~movies/hyj.rmvb文件:
  119. echo   /opt/feiy/player/MPlayer1.0/bin$mplayer ~movies/hyj.rmvb
  120. echo   当然也能在KDE中,使用打开方式-^>其他,选择mplayer打开的方式打开。
  121. echo.
  122. pause
  123. goto start
复制代码

[ 本帖最后由 cjiabing 于 2010-10-7 22:09 编辑 ]




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2