MPlayer (简体中文) - ArchWiki

Jump to content

相关文章

- mpv

翻译状态：本文是 MPlayer 的翻译。上次翻译日期：2021-03-20。如果英文版本有所更改，则您可以帮助同步翻译。

MPlayer 是 GNU/Linux 下非常流行的影音播放器，支持绝大多数视频/音频文件格式，非常通用。

## 安装

安装 软件包 mplayer 或它的开发版本 mplayer-svnAUR 。

定制版：

- MPlayer-VAAPI — 支持 VAAPI 的版本

  http://gitorious.org/vaapi/mplayer[失效链接 2022-09-21 ⓘ] || mplayer-vaapiAUR

- MPlayer2 — MPlayer 的分支

  https://github.com/nezumisama/mplayer2 || mplayer2AUR

注意： mplayer2 的开发已经停止，推荐使用 mpv，mpv 更注重速度和开发质量，尽管它对老旧设备兼容性差。使用前请注意一下它们的 差异。

### 图形前端

参考 List of applications/Multimedia#MPlayer-based.

## 配置

系统全局配置文件位于 `/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)。

参阅：XF86 键盘符号

## 提示与技巧

### 硬件加速

参考硬件视频加速。

#### 启用 VDPAU

将下列内容加入前面提到过的配置文件（全局或用户配置文件均可）：

    vo=vdpau,
    vc=ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpau,ffh264vdpau,ffodivxvdpau,

注意：

- 最后面的逗号很重要！如果找不到指定的驱动程序和编解码器，它们会告诉 MPlayer 使用其他驱动程序和编解码器。
- `-vo` 选项选择 VDPAU 视频输出驱动, `-vc` 选项选择 VDPAU 视频解码器。

警告： 只有最新型号的显卡支持 ffodivxvdpau。如果你的不支持，可以删除。详情请查阅 Hardware video acceleration (简体中文)#NVIDIA。

#### 启用 VA-API

这需要 AUR 中的 mplayer-vaapiAUR。

    $ mplayer -vo vaapi -va vaapi foobar.mpeg

- -vo - Select vaapi video output driver
- -va - Select vaapi video decoder driver

基于 MPlayer 的播放器：

- gnome-mplayer: 要启用硬件加速: Edit > Preferences > Player, 然后设置 Video Output 为 `vaapi`。
- smplayer: 要启用硬件加速: Options > Preferences > General > Video, 然后设置 Output driver 为 `vaapi`。

### Radeon 显卡启用半透明视频混合显示

为了在 X 中获得半透明视频效果，你需要在 MPlayer 中启用视频纹理:

    $ mplayer -vo xv:adaptor=1 file

或者在 `~/.mplayer/config` 中添加一行:

    vo=xv:adaptor=1

你可以使用 `xvinfo` 命令检查你的显卡支持哪种视频模式。

### 播放流媒体文件

要播放流媒体（如 ASX 链接)，使用以下命令：

    $ mplayer -playlist link-to-stream.asx

必须使用 `-playlist` 参数，因为这些文件是流媒体列表，而非影音文件。

### 播放 DVD

要使用 MPlayer 播放 DVD：

    $ mplayer dvd://N

其中 N 想要播放的标题号。 如果不确定就从 1 开始。 要从特定的一章开始请使用 '-chapter' 标志。 例如，添加 '-chapter 5' 到命令会从标题的第 5 章开始播放。

Mplayer 默认检查 `/dev/dvd`。 在命令行中添加 `dvd-device` 选项或者在 `~/.mplayer/config` 中使用 `dvd-device` 变量可以告诉它使用 `/dev/sr0`。

要播放一个 DVD 镜像文件：

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

启用 DVD 菜单请使用:

    $ mplayer dvdnav://

注意： 使用方向键导航， `Enter` 键选择。

启用鼠标支持请使用：

    $ mplayer -mouse-movements dvdnav://

要找到音频语言，以 `-v` 启动 MPlayer 可以切换到音频输出 ID。用 `-aid audio_id` 来选择一个音频 ID。通过编辑 `~/.mplayer/config` 并添加 `alang=en` 这一行可以将英语设为默认音频。

用 MPlayer 时，DVD 音量可能会被设置得比较低。要提高最大音量到 400%，请使用 `softvol=yes` 和 `softvol-max=400`。初始音量默认为软件音量的 100%，全局混合水平保持不变。使用 `9` 和 `0` 可以在 0 和 400% 之间调节音量。

    alang=en
    softvol=yes
    softvol-max=400

#### DVB-T Streaming

更多信息参见 DVB-T。

### JACK 支持

要使 MPlayer 将其音频直接输出到 JACK 作为默认行为，编辑 `~/.mplayer/config` 并添加：

    ao=jack

如果你现在没有运行 JACK, 你可以通过从命令行唤起 MPlayer，来让 MPlayer 根据需要输出到 JACK, 如：

    $ mplayer -ao jack path/to/file

### 高级字幕

要让 ass 或者 ssa 格式字幕正常展示，你需要修改 `~/.mplayer/config` 添加：

    ass=true

或者添加 `-ass` 到命令行:

    $ mplayer -ass path/to/subtitledVideo.mkv

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

启用 `ass` 也会同时启用任何嵌入字体。 根据 MPlayer 的手册，如果 fontconfig 的版本号大于等于 2.4.2，不需添加 `embeddedfonts=true`。 当没有嵌入字体的时候，fontconfig 也会被用来选择使用哪个字体。这可能会导致使用的字体与 OSD 字幕渲染器的不同。

### 网络电台

下面是一个脚本示例，用于轻松启动/停止播放预定义电台。 [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 编解码器编码的媒体，可以安装带有必要的二进制编解码器包 codecs64AUR。更多信息参见 [2]。

## 问题处理

### 无法打开名称含空格的文件

打开名称含空格的文件时，如果报类似于“无法打开 `file:///The%20Movie`”的错误（空格被替换成 `%20` 了），可以通过下面的方法解决：

打开 `/usr/share/applications/mplayer.desktop`，修改下面的内容：

    Exec=mplayer %U

为：

    Exec=mplayer "%F"

如果要使用图形前端，修改为 `Exec=gui_name "%F"` 即可。

### OSD 和字幕有黑色或奇怪颜色的字体

当使用 MPlayer 可能默认使用的 `vdpau` 输出时，似乎 OSD 和字体颜色会有问题。你可以使用 `xv` 而不是 `vdpau` 来绕过这一问题。

作为一个命令行选项：

    mplayer -vo xv

添加如下一行到你的 `~/.mplayer/config` 文件：

    vo=xv

详细信息参见原帖。

### Smplayer无图像

打开 `mp4` 和 `flv` 文件时，SMPlayer 可能出现无图像问题。解决方法如下：

打开 `~/.mplayer/config` 添加：

     [extension.mp4]
     demuxer=mov

如果还有问题，可能是由 SMPlayer 原有设置导致的。删除设置文件即可：

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

### Gnome中启用复合的透明 SMPlayer

在使用 compiz 和 cairo dock 时，你注意到 SMPlayer 的透明屏幕了吗？当你用 SMPlayer 打开视频时，你只能听到音频而没有视频，这是很可笑的！下面是解决方法：[复制粘贴到终端]

       sudo bash -c "cat > /usr/bin/smplayer.helper" <<EOF
       export XLIB_SKIP_ARGB_VISUALS=1
       exec smplayer.real "$@"
       EOF
       sudo chmod 755 /usr/bin/smplayer.helper
       sudo mv /usr/bin/smplayer{,.real}
       sudo ln -sf smplayer.helper /usr/bin/smplayer

如果你不使用 `sudo`, 请直接使用 `su` 以 root 登录并执行上述命令！

### SMPlayer: OSD font too big / subtitle text too small

自 SMPlayer 0.8.2.1 (with MPlayer2 20121128-1)起, 字幕字体与OSD字体的比例非常奇怪。这可能会导致 OSD 文字占满整个屏幕而字体太小以至于无法阅读。这个问题可以通过添加如下选项解决：

    -subfont-osd-scale 2

或者添加到由 SMPlayer 传输到 MPlayer 的额外选项解决。这些选项可在 Options > Preferences > Advanced > Options for MPlayer 找到。也可以通过添加如下的行到 `~/.mplayer/config` 解决：

    subfont-osd-scale=2

### Mplayer 字幕中某些字符显示为问号

如果字幕的编码方式是 utf8，请尝试使用：

    -subcp utf8

你可以使用如下命令查看字幕的编码方式：

    file subtitles.srt

参考 mplayer-shows-question-marks-for-some-characters-on-subtitle.

### 断断续续的音频 CD 播放

当 CDROM 向下旋转 CD 时，CDDA 播放可能每隔几秒钟中断一次。要解决这个问题，你需要使用 `-cache` 选项提前缓存或缓冲：

    mplayer cdda://:1 -cache 1024

`:1` 是为了降低 CDROM 的速度，以获得恒定的自旋和较少的噪声。

## 参阅

- MPlayer FAQ
- MPlayer tips
- How to configure MPlayer
- playerctl: A command-line utility and library for controlling media players

Categories:

- Video (简体中文)
- Audio (简体中文)

Hidden category:

- Pages with dead links