MPlayer

出自 ArchWiki
(重定向自 Mplayer

MPlayer 是一款流行的 GNU/Linux 电影播放器。它支持大多数视频和音频格式,因此用途广泛,即使它主要用于观看视频。

安装

安装 mplayer 软件包。

一些视频播放器 可以使用 MPlayer 作为后端。

配置

系统范围的配置文件位于 /etc/mplayer/,而用户本地设置存储在 ~/.mplayer/ 目录中。 /etc/mplayer/ 中的默认文件包括

  • codecs.conf - 包含编解码器配置。
  • example.conf - 是 mplayer.conf 的示例,安装后不会自动创建。
  • input.conf - 包含热键配置。

默认情况下,会在 ~/.mplayer/ 目录中创建一个 config 文件。

另请参阅:MPlayer 配置文件示例mplayer(1)

按键绑定

系统按键绑定通过 /etc/mplayer/input.conf 配置。个人按键绑定存储在 ~/.mplayer/input.conf 中。 有关键盘快捷键的完整列表,请查看 mplayer(1)

另请参阅:LQWiki:XF86 键盘符号

技巧与诀窍

硬件视频加速

请参阅 硬件视频加速

启用 VDPAU

将以下内容附加到系统范围(/etc/mplayer/mplayer.conf)或用户特定(~/.mplayer/config)的配置文件中

vo=vdpau,
vc=ffh264vdpau,ffmpeg12vdpau,ffodivxvdpau,ffwmv3vdpau,ffvc1vdpau,ffhevcvdpau
注意
  • 尾随逗号很重要!它们告诉 MPlayer,如果找不到指定的驱动程序和编解码器,则回退到其他驱动程序和编解码器。
  • -vo 选项选择 VDPAU 视频输出驱动程序,-vc 选项选择 VDPAU 视频编解码器。
  • ffodivxvdpau 编解码器仅受最新系列的 NVIDIA 硬件支持。 请根据您的特定硬件考虑省略它。 有关更多信息,请参阅 硬件视频加速#NVIDIA

Radeon 显卡和 Composite 启用时的半透明视频

要在 X 中获得半透明视频输出,您必须在 MPlayer 中启用纹理视频

$ mplayer -vo xv:adaptor=1 file

您可以使用 xvinfo 来检查您的显卡支持哪些视频模式。

观看流媒体视频

如果您想播放视频流(例如 ASX 链接),请使用

$ mplayer -playlist link-to-stream.asx

-playlist 选项是必需的,因为这些流实际上是播放列表,没有它就无法播放。

DVB-T 流媒体

有关更多信息,请参阅 DVB-T

DVD 播放

要使用 MPlayer 播放 DVD

$ mplayer dvd://N

其中 N 是所需的标题编号。如果不确定,请从 1 开始并向上递增。 要从特定章节开始,请使用 '-chapter' 标志。 例如,在命令中添加 '-chapter 5' 将使 dvd 从标题的第五章开始播放。

Mplayer 默认检查 /dev/dvd。 使用命令行中的 dvd-device 选项或 ~/.mplayer/config 中的 dvd-device 变量,告诉它使用 /dev/sr0

要播放 DVD 镜像文件

$ mplayer -dvd-device movie.iso dvd://N

要启用 DVD 菜单,请使用

$ mplayer dvdnav://
注意: 您可以使用箭头键导航,使用 Enter 键选择。

要在 DVD 菜单中启用鼠标支持,请使用

$ mplayer -mouse-movements dvdnav://

要查找音频语言,请使用 -v 开关启动 MPlayer 以输出音频 ID。 音频轨道通过 -aid audio_id 选择。 通过编辑 ~/.mplayer/config 并添加行 alang=en(英语)来设置默认音频语言。

使用 MPlayer,DVD 的音量可能设置得较低。 要将最大音量增加到 400%,请使用 softvol=yessoftvol-max=400。 启动音量默认为软件音量的 100%,全局混音器级别将保持不变。 使用 90 键,音量可以在 0% 到 400% 之间调整。

alang=en
softvol=yes
softvol-max=400

JACK 支持

要将 MPlayer 音频输出定向到 JACK

$ mplayer -ao jack path/to/file

高级字幕

为了使高级 SubStation Alpha (ass) 或 SubStation Alpha (ssa) 格式的字幕正确显示

$ mplayer -ass path/to/subtitledVideo.mkv

需要启用此标志的一个可能迹象是您的字幕中出现数字。 这是由被解释为要显示的内容的定位信息引起的。 Mplayer 还会抱怨字幕太长或行数太多。

启用 ass 也会启用任何嵌入字体。 根据 mplayer 手册中的说明,如果 fontconfig 的版本为 2.4.2 或更高版本,则无需添加 embeddedfonts=true。 Fontconfig 也将用于选择在没有嵌入字体时要使用的字体。 这可能会导致使用的字体与 OSD 字幕渲染器使用的字体不同。

网络电台

此文章或章节已过时。

原因: 该脚本需要 shell 检查。 (在 Talk:MPlayer#Internet Radio Script Mess 中讨论)

这是一个脚本示例,用于轻松启动/停止播放预定义的电台。 [1]

#!/bin/bash
XX="X"$1;
PLAYIT='mplayer  -loop 0 -playlist http://*.*.*.*:8000/listen.pls';

if [ "$XX" == "Xstop" ]; then
  killall mplayer;
else
  if [ 'EX' == 'EX'"$(pidof mplayer)" ]; then
    if [ "$UID" -ne 0 ]; then
      nohup $PLAYIT &> /dev/null & disown;
    else
      echo The "root" user is not allowed to run this script.
    fi
  else
    echo mplayer is already running by user: $(ps -eo user,comm | grep -i "mplayer"$ | sed 's/ mplayer/,/m') | sed "s/ ,$/./m";
  fi
fi

有关正在运行的 mplayer 实例的更多详细信息

$ ps -eo pcpu,pid,user,comm | grep -i "mplayer"$ | sed  "s/ mplayer$//m"

额外的二进制解码器

如果您需要播放使用 cook、drvc 或 sipr 编解码器编码的媒体,您可以安装包含“essentials”二进制编解码器包的 codecs64AUR 软件包。 有关更多信息,请参阅 http://www.mplayerhq.hu/design7/dload.html

在播放暂停时允许屏幕保护程序/DPMS

默认情况下,MPlayer 会阻止屏幕保护程序,如果您忘记暂停的视频,这可能是不希望的。 以下配置将保持屏幕保护程序和 DPMS 启用,但使用 xdotool 每 60 秒按下一次空闲键

nostop-xscreensaver=1
heartbeat-interval=60
heartbeat-cmd="xdotool key VoidSymbol"

故障排除

MPlayer 无法打开文件名中带有空格的文件

MPlayer 可能无法打开文件名中带有空格的文件(例如“The Movie”),并提示无法打开文件 file:///The%20Movie(其中所有空格都转换为 %20)。 这可以通过编辑 /usr/share/applications/mplayer.desktop 将以下行从

Exec=mplayer %U

更改为

Exec=mplayer "%F"

如果您使用 MPlayer 的前端/GUI,请在 Exec=gui_name "%F" 中输入其名称。

MPlayer 的 OSD 和字幕字体为黑色或颜色异常

当使用 vdpau 输出时,OSD 和字幕颜色似乎存在问题,mplayer 可能会默认使用 vdpau 输出。 您可以通过使用 xv 而不是 vdpau 来解决此问题

$ mplayer -vo xv

有关详细信息,请参阅原始的 论坛帖子

SMPlayer:无视频问题

SMPlayer 可能在打开某些 MP4(和可能的 FLV)视频时遇到问题。 如果它只播放音频而没有任何视频,一个可能的解决方法是使用 MOV 作为解复用器

~/.mplayer/config
[extension.mp4]
demuxer=mov

如果在执行此操作后问题仍然存在,那是因为 SMPlayer 保留了该特定文件的设置。 删除 SMPlayer 保留的所有文件的设置将解决此问题

$ rm -rf ~/.config/smplayer/file_settings

SMPlayer:暂停后无法恢复播放

如果您的音频输出驱动程序设置不正确,SMPlayer 可能会在暂停视频后停止播放。 您可以通过专门设置您的音频驱动程序来解决此问题。 例如,如果您使用 PulseAudio,可以通过使用 -ao pulse 启动 MPlayer 来完成此操作。

您也可以从 SMPlayer 中更改此设置,方法是转到选项 > 首选项 > 常规 > 音频,并将输出驱动程序选项设置为pulse

SMPlayer:在 GNOME 中使用透明效果时没有视频

当在 GNOME 下使用 Compiz 提供透明效果时,可能会出现此问题:SMPlayer 启动时屏幕透明,但只有音频播放,没有视频。 要解决此问题,请创建(以 root 身份)一个包含以下内容的文件

/usr/local/bin/smplayer.helper
export XLIB_SKIP_ARGB_VISUALS=1
exec smplayer.real "$@"

使其成为 可执行文件 并按如下所示链接它

# ln -sf /usr/local/bin/smplayer.helper /usr/local/bin/smplayer

SMPlayer:OSD 字体太大 / 字幕文本太小

自 SMPlayer 0.8.2.1(使用 MPlayer2 20121128-1)以来,字幕字体与 OSD 字体的比例非常奇怪。 这可能会导致 OSD 文本充满整个屏幕,而字幕非常小且无法阅读。 可以通过添加

-subfont-osd-scale 2

或添加到从 SMPlayer 传递给 MPlayer 的额外选项来解决此问题。 这些选项位于选项 > 首选项 > 高级 > MPlayer 选项中。

Mplayer 在字幕中对某些字符显示问号

如果字幕的字符编码是 utf8,请尝试使用

-subcp utf8

您可以使用以下命令找到字幕的字符编码

$ file subtitles.srt

请参阅 https://www.linuxquestions.org/questions/slackware-14/mplayer-shows-question-marks-for-some-characters-on-subtitle-works-fine-on-xine-906077/

音频 CD 播放断断续续

CDDA 播放可能会每隔几秒钟中断一次,因为 CDROM 会降低 CD 的转速。 要解决此问题,您需要使用 -cache 选项预先缓存或缓冲

$ mplayer cdda://:1 -cache 1024

:1 是为了降低 CDROM 速度以实现恒定旋转并减少噪音。

参见