MPlayer
MPlayer 是 GNU/Linux 下非常流行的影音播放器,支持絕大多數視頻/音頻文件格式,非常通用。
安裝[編輯 | 編輯原始碼]
安裝 軟件包 mplayer包 或它的開發版本 mplayer-svnAUR 。
定製版:
- MPlayer-VAAPI — 支持 VAAPI 的版本
- http://gitorious.org/vaapi/mplayer[失效連結 2022-09-21 ⓘ] || mplayer-vaapiAUR
- MPlayer2 — MPlayer 的分支
圖形前端[編輯 | 編輯原始碼]
參考 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 視頻解碼器。
啟用 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