生成索引
有时候,有些视频文件(主要是 AVI 文件)包含损坏的索引,或者根本就没有索引。这种情况通常是由下载文件不正确或未完成造成的。幸运的是,MPlayer 能够生成正常播放文件所需的索引。通过使用 -idx 选项,你可以告诉 MPlayer 来生成索引:
mplayer -idx
有时候文件虽然包含索引,但却已损坏。那样的情况,你可能需要 MPlayer 强制生成索引:
mplayer -forceidx
根据视频文件的大小,生成索引需花费一定的时间。但在此后,文件应该能够正常播放。
纠正错误的音频/视频同步
有些视频文件(主要是 flv 文件)由于编码的问题,会给 MPlayer 带来音频/视频同步的麻烦。这有两种可能情况:
- MPlayer 会尝试修复,但同步问题却更遭。
- MPlayer 会尝试修复那些正确的,因此没有必要同步。
对于第一种情况,你应当让 MPlayer 努力修复同步问题:
mplayer -autosync 30 -mc 2.0
而对于第二种情况,你不应当允许 MPlayer 去修复同步问题:
mplayer -autosync 0 -mc 0
将上述命令中的 autosync 设置为正值就会让 MPlayer 逐渐调整音频/视频的同步。值越高,MPlayer 越快地修复它。mc 选项指定 MPlayer 纠正每帧要多少秒。值越高,MPlayer 越认为接近修复音频/视频同步。设置为 0 则阻止 MPlayer 修复。
在慢系统上使用 MPlayer
MPlayer 允许在旧的或慢的系统上使用低 CPU 功率来播放视频文件。你可以使用 -framedrop 选项:
mplayer -framedrop
当播放 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
在 OGG 的情况中,你可以使用同样的技巧来检测 tremor 音频解码器是否可用:
mplayer -ac help | grep tremor
播放流媒体
如果 MPlayer 无法自动找到播放列表或直接的流媒体文件,你可以尝试使用 -playlist 选项:
mplayer -playlist
同时你也可以设置较大的缓存:
mplayer -cache 8192 -playlist
指定缓存大小的单位是 KB,上面的命令将允许 MPlayer 使用 8 MB 缓存。你可以使用 -cache-min 选项来改变 MPlayer 占用缓存的百分比:
mplayer -cache 8192 -cache-min 50 -playlist
循环播放
如果你想让媒体文件循环播放,可以使用 -loop 选项:
mplayer -loop 3
上面的命令将播放
mplayer -loop 0
上面的命令将永远重复播放
改变播放速度
你可以使用 -speed 选项来改变 MPlayer 播放媒体文件的速度。值为 1.0,意味着正常速度;0.5 意味着慢两倍;2.0 意味着快两倍。像这样指定选项:
mplayer -speed 2.0