如果覺得一般影串流網站的觀影體驗不夠好,何不將串流影片丟給本機播放器播放,藉由自訂特效提昇觀看效果呢。
本文Ivon將介紹如何在Linux系統設定"play in MPV"方案,將網頁播放的影片即時傳遞給MPV播放。
這樣做有何好處?比如木棉花Youtube上傳的一些老舊動畫只有720p,將其餵給MPV,配合 Anime4K與 MVTools讓影片畫質更上一層樓。
已經嘗試過的MPV播放方案#
本文選用的方案是Akatsuki Rui開發的 MPV Handler,以TamperMonkey指令稿跟本機的MPV Handler程式溝通,將網頁的影片傳送給MPV開啟,還可以將cookie傳給MPV,播放需要登入才能觀看的影片。指令稿部份支援Firefox與Chrome瀏覽器,MPV Handler程式支援Linux/Windows/macOS。
至於為什麼不採用其他方案…
LuckyPuppy514的指令稿 Play-With-MPV,支援Youtube、Bilibili、巴哈姆特動畫瘋,不過似乎是寫死給Windows用的,我用Linux的MPV無法解碼串流。
Leonardo Baldin的 open-in-mpv原理跟MPV Handler類似,差別在於以擴充元件形式提供。我測試可以用,不過不支援讀取cookie,失敗。
這些方案支援的串流網站很多,其中Youtube和Bilibili是最好解決的,可是巴哈姆特動畫瘋找不到合適的串流播放辦法,所以只好不串流,改用AniGamerPlus直接將整部動畫下載來看囉。
1. 安裝MPV Handler程式#
於瀏覽器安裝 TamperMonkey,再安裝 使用MPV播放指令稿
解壓縮,將執行檔放到
~/.local/bin
,將該路徑加入至PATH
unzip mpv-handler-linux-amd64.zip
cd mpv-handler-linux-amd64
chmod +x mpv-handler
mv mpv-handler ~/.local/bin/
echo "PATH=$PATH:~/.local/bin/" >> ~/.bashrc
source ~/.bashrc
- 將mpv-handler.desktop放到
~/.local/share/applications/
mv mpv-handler.desktop ~/.local/share/applications/
- 執行此指令,設定預設xdg-open的開啟程式為mpv handler
xdg-mime default mpv-handler.desktop x-scheme-handler/mpv
xdg-mime default mpv-handler-debug.desktop x-scheme-handler/mpv-debug
- (選擇性) 建立設定檔
~/.config/mpv-handler/config.toml
,指定MPV與yt-dlp路徑
mpv = "/usr/bin/mpv"
ytdl = "/usr/bin/yt-dlp"
2. 支援播放影片的網站#
MPV Handler支援播放 所有yt-dlp能解析的網站。
進入要播放影片的頁面,左下角會有MPV按鈕
按下去同意開啟連結。(如果瀏覽器是Flatpak可能會跳出XDG Portal,此時請嘗試選取mpv-handler)
播放Bilibili時很順暢,不過沒有彈幕
Youtube會自動選取最佳畫質
Youtube還可以拿來看直播
3. 傳遞瀏覽器cookie給MPV的方法#
有些網站需要會員登入才能觀看影片,例如Youtube私人影片、Bilibili番劇。
安裝能匯出cookie的擴充元件,例如Firefox用 cookies.txt
進入Youtube,按餅乾按鈕,點選Current Size,下載txt
將txt重新命名為
www.youtube.com.txt
(就是以網域名稱當檔名),將檔案放到~/.config/mpv-handler/cookies
播放影片前點選Try Pass Cookie,設定為Yes