# SMPlayer - 常见问题解答

1. 有时候我读 SMPlayer，有时候读 MPlayer，它们是什么？它们是相同的吗？
2. MPlayer2 是什么？
3. 我看到一些关于 Qt 的东西，那是什么？
4. DVD 菜单，它在哪里？
5. 输出驱动（directx, xv, x11, gl, alsa, oss...）是什么呢？哪一个是最好的？
6. 我尝试截图，但该选项被禁用，为什么？
7. 我尝试更改音轨，但没有效果，音频仍然没变。我要停止视频并再次播放才可以更改音频。为什么？
8. 我如何更改快捷键？
9. 某些视频格式我只能听到音频，没有视频。为什么？我需要一些编解码器？
10. “打开 -> 关闭” 和 “打开 -> 退出” 之间的区别是什么？它们是否都一样？
11. 我怎样才能播放音频 CD 呢？
12. 我尝试播放一个文件但没有任何反应。为什么？
13. 很多菜单选项会让正在播放的视频瞬间变成空白。为什么？
14. SMPlayer 崩溃以后，音频还没有停止，为什么？
15. 建议使用什么版本的 MPlayer？
16. 我想让字幕在黑色边框上显示，而不是图像上，我该怎么办？
17. 我想让所有视频的字幕都显示在黑色边框上，这可能吗？
18. 屏幕保护程序没有关闭，为什么？
19. MPlayer 是多线程的吗？我怎么才能充分利用我所有的 CPU 核心？
20. 我怎样才能调整 OSD（在屏幕上显示）的字体大小？
21. 配置文件在哪里？
22. （Windows）视频只显示在第一显示器，无法显示在第二显示器上，为什么？
23. （Windows）我每次播放视频 Aero 都会被禁用，为什么？
24. （Windows）我无法打开含有特殊或非英文字符的文件，为什么？

#### 有时候我读 SMPlayer，有时候读 MPlayer，它们是什么？它们是相同的吗？

不，它们是两个不同的应用程序。MPlayer 是一个多媒体播放器，最初是为 Linux 开发的，后来被移植到其他的操作系统。它非常棒，它几乎可以播放一切，并且它有很多功能（例如过滤器）。但大多数用户可能会发现很难使用它。

幸运的是 MPlayer 可以与其他应用程序一起工作（它的视频窗口可以被嵌入到其他应用程序的图形用户界面中，它还能执行该应用程序发送的命令），因此 SMPlayer 只是一个使用 MPlayer 播放视频的前端程序。

SMPlayer 就是您所看到的窗口、菜单和首选项对话框...（还有其他您没有看到的东西，例如控制 MPlayer 的功能），但 SMPlayer 对于正在播放的文件一无所知，它甚至不知道什么是编解码器。另一方面，MPlayer 则在打开文件、解码它们、显示视频和播放音频，并读取和分析字幕，将它们显示在屏幕上。

#### MPlayer2 是什么？

MPlayer2 是一个 MPlayer 的分支。MPlayer2 提供的一些 改进和功能 超过了 MPlayer 与 SMPlayer 的兼容性。

#### 我看到一些关于 Qt 的东西，那是什么？

SMPlayer 是使用 Qt 开发的，这是一个允许跨平台开发的 C++ 库。 它提供了单一源代码可在 Windows、Linux 和 Mac OS 多系统平台上编译的可移植性。更多信息：http://qt.nokia.com/products/。

#### DVD 菜单，它在哪里？

在 SMPlayer 的 “驱动器” 首选项（选项 - 首选项 - 驱动器）中，启用 “启用 DVD 菜单（试验）” 选项，并设置您的 DVD 驱动器。该功能需要一个最近构建的编译有 libdvdnav 支持的 MPlayer。

#### 输出驱动（directx, xv, x11, gl, alsa, oss...）是什么呢？哪一个是最好的？

MPlayer 有一些用于视频和音频的输出驱动。SMPlayer 允许您在其中选择一个（首选项 -> 常规 -> 视频/音频）。

对于视频，建议您使用 xv（Linux）或 directx（Windows）。它们使用硬件加速，可以获得最佳的性能。但这对于 Windows Vista 和更高版本用户的不便之处是，使用 directx 会导致禁用 Aero。

x11 和 directx（禁用加速）驱动都没有硬件加速，它们的性能最差，此外 directx（禁用加速）在全屏模式下的质量也很差。

gl 和 gl2 将使用图形卡的 3D 加速，它们提供的性能优于 directx（禁用加速）和 x11，但逊色于 directx 或 xv 。Windows Vista 和更高版本的用户可以使用 gl/gl2。

对于声音，在 Linux 中您通常应该使用 alsa。我不喜欢 esd 或 arts，它们需要使用更多的 CPU。

在 Windows 中的声音驱动是 dsound 和 win32。我了解到 dsound 有时可能会导致 “音频 - 视频（A-V）” 同步的问题，如果您发现此问题，请尝试使用 win32 代替。

其他驱动允许您保存视频为图像文件或将声音写入到磁盘。SMPlayer 不正式支持这些驱动。请在您知道自己在做什么的情况下使用它们。

#### 我尝试截图，但该选项被禁用，为什么？

您没有选择一个用于存储屏幕截图的文件夹。在 首选项 -> 常规 中设置后，截图选项将被启用。

#### 我尝试更改音轨，但没有效果，音频仍然没变。我要停止视频并再次播放才可以更改音频。为什么？

对于某些格式（例如 mp4 或 ogm），MPlayer 无法在运行时更改音轨。通过将 “快速切换音轨”（首选项 -> 首选项）选项设置为 “自动” 或 “否”，您就可以更改这些格式的音频。

#### 我如何更改快捷键？

首选项 -> 键盘和鼠标。您将能够更改大多数快捷键。

#### 某些视频格式我只能听到音频，没有视频。为什么？我需要一些编解码器？

MPlayer 可以 “开箱即用” 播放常见的格式。但对于那些原本未支持的格式，必须安装二进制编解码器包。您可以从 MPlayer 下载页面 上获取。

在 Windows 下，安装编解码器到 mplayer\codecs 子目录。在 Linux 发行版下，软件包中常常有它，它可能是 w32codecs 或类似的名称。

#### “打开 -> 关闭” 和 “打开 -> 退出” 之间的区别是什么？它们是否都一样？

如果 “在系统托盘上显示图标”（在 选项 菜单中）选项没有被选中，那么是的，这两个选项都相同：退出应用程序。

但如果该选项被启用，打开 -> 关闭 将只隐藏应用程序（并停止当前正在播放的文件），但 SMPlayer 仍在运行。这时使用 打开 -> 退出 才能退出应用程序，无论 “在系统托盘上显示图标” 选项是否启用。

#### 我怎样才能播放音频 CD 呢？

0.5.18（或以上版本）已增加对音频 CD 的支持。

但在 Windows 下无法播放音频 CD。

#### 我尝试播放一个文件但没有任何反应。为什么？

可能是 MPlayer 无法播放该文件。打开 MPlayer 日志（选项 -> 查看日志 -> MPlayer），在最新的行中您可能会找到一条错误信息。

一些无效的 MPlayer 编译版 在 Windows 中相当普遍，因为它们在编译时没有支持一些 SMPlayer 尝试使用的功能，该错误信息可能会给您一些线索。如果是缓存（cache）问题，您可以尝试在 首选项 -> 首选项 -> 缓存 中禁用缓存。如果是字体配置（fontconfig）的问题，请使用一个系统中的 TTF 字体代替（首选项 -> 字幕 -> 字体和颜色）。

#### 很多菜单选项会让正在播放的视频瞬间变成空白。为什么？

一些选项需要停止 MPlayer 进程，并以新的参数重新启动它。这就是为什么播放时会瞬间中断。

#### SMPlayer 崩溃以后，音频还没有停止，为什么？

SMPlayer 崩溃后，MPlayer 仍在运行。您可以在任务管理器中结束 MPlayer 进程。

无论如何，如果 SMPlayer 崩溃，说明这是一个严重的错误（bug），它应该被修复。请报告它。

#### 建议使用什么版本的 MPlayer？

我建议至少使用 MPlayer SVN r33216（2011-04-05）或 MPlayer2，尽管从 SVN/git 获取的最新版本会更好地改进编解码器支持和错误修正。

SMPlayer 将尽力兼容旧的版本，但有些选项可能无法工作。

#### 我想让字幕在黑色边框上显示，而不是图像上，我该怎么办？

视频过滤器 -> 添加黑色边框

#### 我想让所有视频的字幕都显示在黑色边框上，这可能吗？

您可以在 首选项 -> 高级 -> MPlayer 选项 中添加一个视频过滤器，例如 expand=:::::4/3。

其他可能的选项：

- 打开 首选项 -> 常规 -> 视频，选中 全屏时添加黑色边框
- 在 首选项 -> 高级 -> 高级 中的动作列表文本框中添加 add_letterbox true

#### 屏幕保护程序没有关闭，为什么？

如果您使用的是最新版本的 MPlayer，您可能需要在您的 ~/.mplayer/config 中添加这样一行：

(gnome)

    heartbeat-cmd="gnome-screensaver-command -p &>/dev/null"

(kde)

    heartbeat-cmd="dcop kdesktop KScreensaverIface enable false &>/dev/null && dcop kdesktop KScreensaverIface enable true &>/dev/null"

更多信息请到 MPlayer 的联机帮助中看一下。

#### MPlayer 是多线程的吗？我怎么才能充分利用我所有的 CPU 核心？

多线程解码需要一个最近构建的 MPlayer 或 FFmpeg-mt（Linux）。MPlayer2 自动使用所有核心，但 MPlayer 需要手动调整。您可以在 首选项 -> 首选项 中调整解码线程数。将它设置为等于或小于您的处理器的核心数量（或超线程 Inter CPU 情况下的线程数）。设置它大于您的 CPU 实际数量将没有任何效果。

#### 我怎样才能调整 OSD（在屏幕上显示）的字体大小？

要调整 OSD（MPlayer 在左上角显示的时间和其他信息）的字体大小，请在 首选项 -> 高级 -> MPlayer 选项 的 选项: 字段中添加以下：

    -subfont-autoscale 0 -subfont-osd-scale y

其中 y 是您偏好的大小。-subfont-osd-scale 的默认值为 20。

#### 配置文件在哪里？

主要的 SMPlayer 配置文件是 smplayer.ini。根据您的配置，单个文件的设置保存在 smplayer_files.ini（一个 ini 文件）或子目录 file_settings（多个 ini 文件）中。根据您的操作系统它们位于：

    Linux 	                        $HOME/.config/smplayer
    Windows 2000/XP 	        C:\Documents and Settings\<your_username>\.smplayer
    Windows Vista/7    	        C:\Users\<your_username>\.smplayer

您还可以在 SMPlayer 日志（选项 -> 查看日志 -> SMPlayer）中看到它的路径，就像这行：

     * ini path: '/home/ricardo/.config/smplayer'

smplayer.ini 存储 SMPlayer 的配置，而 smplayer_files.ini 存储您播放过的文件的设置。

注意：在 Linux 下，.config 默认可能会被隐藏。请确定您的文件管理器是否启用了隐藏文件或文件夹。

#### （Windows）视频只显示在第一显示器，无法显示在第二显示器上，为什么？

当您使用 directx 作为视频驱动（首选项 -> 常规 -> 视频）时，视频只能被显示在一台显示器上。如果您使用 gl、gl2 或 direct3d 代替，视频将可以被显示在任何显示器。

无论如何，如果您更喜欢使用 directx，您可以通过菜单（视频 -> 屏幕）选择要显示视频的显示器。

#### （Windows）我使用 Windows Vista 或更新版本时，我每次播放视频 Aero 都会被禁用，为什么？

这种情况会在您使用 directx 作为视频驱动（首选项 -> 常规 -> 视频）时发生。您可以将它更改为 gl、gl2 或 direct3d。

#### （Windows）我无法打开含有特殊或非英文字符的文件，为什么？

如果您无法打开含有特殊或非英文字符的文件，请在 选项 -> 首选项 -> 高级 中启用 传送短文件名 (8+3) 至 MPlayer 来解决这个问题。