MPlayer

出自 Arch Linux 中文维基

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=yessoftvol-max=400。初始音量默認為軟體音量的 100%,全局混合水平保持不變。使用 90 可以在 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無圖像[編輯 | 編輯原始碼]

打開 mp4flv 文件時,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 的速度,以獲得恆定的自旋和較少的噪聲。

參閱[編輯 | 編輯原始碼]