這篇讓Ivon分享MPV的簡單設定方法,讓你可以得到一個帶有時間軸縮圖預覽的影片播放器。
想要一款支援大多數影音格式的Linux播放器,那麼你應該試試MPV。
MPV是基於Mplayer開發的開源影片播放器,提供Linux、Windows、macOS、Android版本。
MPV功能:
- 內建FFMPEG,支援大多數的影片格式
- 可依照硬體性能採用多樣的GPU加速手段
- 支援載入多字幕
- 內建yt-dlp,支援播放線上YouTube影片
- 可使用Lua、JavaScript、Python撰寫插件,擴充功能
總而言之,功能十分靈活強大。
不過,MPV需要花心思調整,想要開箱即用的播放器建議改裝 VLC Meida Player。
什麼叫做花心思調整?一言以敝之,即MPV是以命令行為主的播放器
拿VLC做比較的話,通常調整影片播放設定都可以在圖形介面完成,但MPV不一樣,預設的介面十分簡陋,連右鍵選單都沒有。如果要調整MPV的系統設定,你必須手動撰寫設定檔,或者從命令行設定參數,才能達到你要的功能。
但也因此,MPV的彈性很高,能輕易給其他程式調用,達成不一樣的玩法,比如終端機瀏覽Youtube影片的 yt-fzf、將網頁影片導向至MPV的 MPV Handler。
你甚至可以用MPV搭配 畫質提升的Anim4K,或者 VapourSynth的補幀演算法,提升觀影體驗。
很多人都說mpv是命令行為主的操作,我個人是覺得把它加點圖形化元素較好。所以下面的文章除了撰寫設定檔之外,還會加入圖形插件,改善原版MPV過於簡單界面的問題,讓你可以少打一些指令。
我的設定檔盡量以簡單夠用就好,不會放一堆複雜的演算法設定。
1. Linux如何安裝MPV#
通常Linux套件庫都有收MPV
# Ubuntu
sudo apt install mpv
# Arch
sudo pacman -S mpv
不過非滾動發行版收錄的MPV套件可能是舊版本,沒有即時收到更新,從而導致各式各樣的bug。比如我在Ubuntu裝的MPV就遇過Nvidia驅動導致黑螢幕的狀況。
為了解決這個問題,使用 Flatpak可以確保裝到的MPV都是最新版本:
flatpak install flathub io.mpv.Mpv
Flatpak的程式名字跟原版不同,如果要方便其他程式調用MPV,那就建立別名指令:
echo 'alias mpv="flatpak run io.mpv.Mpv"' >> ~/.bashrc
source ~/.bashrc
2. MPV操作方式#
點選應用程式列表的MPV圖示,開啟主介面。
MPV視窗極其簡陋,連選單功能都沒有,你得從檔案管理器拖放影片到視窗播放。
MPV預設的重要快捷鍵:
- 鍵盤左右鍵:快轉10秒,按著Shift快轉1秒。
- 鍵盤上下鍵:快轉1分鐘,按著Shift快轉5秒。
- v:開關字幕
- p和空白鍵:暫停
- s:截圖
- S:截圖,不包含字幕
- Shift + L:無限重播
- Shift + S:擷圖,包含字幕與界面元素
- 滑鼠滾輪:調整音量
- f或滑鼠左鍵:切換全螢幕
- 滑鼠右鍵:暫停影片
- Ctrl+滑鼠滾輪:放大影片
- q:退出程式
- Shift + Q:退出程式並保存播放進度
- 中括號
[
和]
:調整播放速度,以10%為級距 - 大括號
{
和}
:調整播放速度成2倍。 - Backspace:重置播放速度
- Shift + I:顯示系統資訊
你也可以改用命令行啟動。開啟終端機,輸入指令啟動MPV
mpv [參數] "影片路徑"
例如以全螢幕模式播放video.mkv這個檔案
mpv --fullscreen=yes /home/user/Videos/video.mkv
或者以純音訊模式播放,這樣MPV視窗就不會跳出來
mpv --audio-only /home/user/Videos/video.mkv
MPV支援串流YouTube影片,餵網址也行
mpv "https://www.youtube.com/watch?v=PUlQNsl4Qvk"
你可以看到,mpv啟動時需要手動加參數,才可以調整設定,如果你不是命令行愛好者的話肯定會覺得麻煩!所以我們最好改成將常用的選項寫在設定檔(conf)的做法。
這樣MPV啟動就會讀取設定檔,不用手動加一堆參數了
3. 撰寫MPV設定檔 (config)#
此處的MPV設定檔(config)參考 MPV Reference manual,以及mpv-lazy作者hook007撰寫的 mpv官方文档的不靠谱汉化。
雖然mpv-lazy (Windows) 的設定檔無法直接套用在Linux,但他寫的手冊依然值得參考。
設定檔路徑#
首先要找到MPV設定檔的位置
Linux預設在
~/.config/mpv/
Flatpak版預設在
~/.var/app/io.mpv.Mpv/config/mpv/
~/.config/mpv
這個目錄裡面有幾個重要的檔案:
mpv.conf
是關於影片播放器本身的設定,例如解碼器、GPU加速、字幕設定
input.conf
代表綁定的快捷鍵。
此外,MPV支援插件系統,放在scripts
目錄下的lua檔案MPV一開啟就會自動執行。
scripts-opts
為個別插件的設定檔
播放設定 mpv.conf#
mpv可以調整的選項很多,請閱讀官方手冊。這裡只挑幾個最重要的來說。
用文字編輯器開啟檔案~/.config/mpv/mpv.conf
首先,你的Linux GPU有正常作動的話應當啟用全部的解碼器,並啟用自動GPU加速。不要全部都拋給CPU算。
hwdec-codecs=all
hwdec=auto
將畫面渲染品質設定為高
profile=gpu-hq
接著設定播放影片時,自動載入同目錄下的字幕檔。字幕樣式可作進一步微調。
sub-auto=fuzzy
sub-font="Noto Sans"
sub-font-size=50
播放影片後視窗維持開啟。
keep-open=yes
有需要的話,啟用退出後保存影片播放進度
save-position-on-quit=yes
自訂截圖輸出的檔名為檔案名稱+年+月+日
,並設定截圖輸出路徑,以及截圖格式。
screenshot-template="%F-%tY-%tm-%td_%tH-%tM-%tS"
screenshot-directory="/home/user/Pictures/"
screenshot-format=png
快捷鍵 input.conf#
上面已講解過MPV預設的快捷鍵了。
這個檔案可以定義按下特定鍵盤後的操作,比如自行定義縮放字幕的快捷鍵:
ALT+k add sub-size +1
ALT+j add sub-size -1
通常我是裝插件的時候才會動這裡的設定,否則用圖形界面就夠了。
值得注意的是,如果要在input.conf使用快捷鍵,引入外部檔案,需要知道路徑的寫法。
若路徑開頭為~~/
,指向的是MPV目前設定檔的所在目錄。因此~~/filter.vpy
等於~/home/user/.config/mpv/filter.vpy
~/
才是指向目前使用者的家目錄。
4. 安裝圖形介面uosc,啟用縮圖預覽#
Tomas Klaen開發的uosc指令稿可以讓MPV比較像個正常的播放器。uosc還要搭配po5開發的thumbfast才會有時間軸縮圖預覽(video thumbnail preview on timebar)功能。
按照 uosc作者說明安裝。
你也可以手動下載uosc的lua檔,並將其放到MPV設定檔目錄下的
scripts
。再將uosc.conf
放到MPV設定檔目錄下的scripts-opts
之後再下載 thumbfast,將
thumbfast.lua
放到到MPV設定檔目錄下的scripts
,並將thumbfast.conf
放到scripts-opts
。重新啟動後就會看到MPV界面不一樣了。
uosc將大部分鍵盤快捷鍵的操作都圖形化了。將滑鼠放在時間軸上亦會出現縮圖。
5. 附錄:使用MPV當後端的播放器#
很多Linux的播放器使用MPV當後端,比如SMPlayer、Haruna Player、MPV.net,改善了原版MPV介面太醜的問題,部份還保留讀取mpv.conf的功能。不過我採取的做法為在原版的基礎上加裝圖形插件,讓它比較好用一些。因為我想要保留MPV自由調整的特性,而不用裝一堆第三方播放器。