一個 mpv 的協議處理程序,使用 Rust 編寫。
使用 mpv 和 yt-dlp 播放網站上的視頻與音樂。
請配合用戶腳本使用:
爲了避免與 mpv 所提供的 mpv:// 協議衝突。
mpv://...
mpv protocol. This is used for starting mpv from URL handler. The protocol is stripped and the rest is passed to the player as a normal open argument. Only safe network protocols are allowed to be opened this way.
協議 mpv:// 和 mpv-debug:// 已棄用, 請使用 mpv-handler:// 和 mpv-handler-debug://.
需要手動干預
運行 handler-uninstall.bat 卸載已棄用的協議, 然後運行 handler-install.bat 安裝新的協議.
如果你是手動安裝的,請重新執行一遍手動安裝流程。

mpv-handler: 在沒有命令行窗口的情況下運行 mpv-handlermpv-handler-debug: 在有命令行窗口的情況下運行 mpv-handler 以便於查看輸出和錯誤play: 使用 mpv 播放視頻使用 URL 安全的 base64 編碼網址或標題。
替換 / 至 _, + 至 - 並且刪除填充的 =。
示例 (JavaScript):
let data = btoa("https://www.youtube.com/watch?v=Ggkn2f5e-IU");
let safe = data.replace(/\//g, "_").replace(/\+/g, "-").replace(/\=/g, "");
cookies = [ www.domain.com.txt ]
profile = [ default, low-latency, etc... ]
quality = [ 2160p, 1440p, 1080p, 720p, 480p, 360p ]
v_codec = [ av01, vp9, h265, h264 ]
v_title = [ Encoded Title ]
subfile = [ Encoded URL ]
startat = [ Seconds (float) ]
referrer = [ Encoded URL ]
mpv-handler 至 $HOME/.local/binmpv-handler.desktop 至 $HOME/.local/share/applications/mpv-handler-debug.desktop 至 $HOME/.local/share/applications/爲二進制文件設置可執行權限
$ chmod +x $HOME/.local/bin/mpv-handler
註冊 xdg-mime(感謝 linuxuprising 的提醒)
$ xdg-mime default mpv-handler.desktop x-scheme-handler/mpv-handler
$ xdg-mime default mpv-handler-debug.desktop x-scheme-handler/mpv-handler-debug
添加 $HOME/.local/bin 到環境變量 PATH
config.toml 至 $HOME/.config/mpv-handler/config.toml 並配置Windows 用戶目前只能手動安裝。
handler-install.bat 註冊協議處理程序config.toml 設置 mpv 和 ytdl 的路徑mpv = "/usr/bin/mpv"
# 可選,類型:字符串
# mpv 可執行文件的路徑
# 默認值:
# - Linux: mpv
# - Windows: mpv.com
ytdl = "/usr/bin/yt-dlp"
# 可選,類型:字符串
# yt-dlp 可執行文件的路徑
proxy = "http://example.com:8080"
# 可選,類型:字符串
# HTTP(S) 代理服務器的地址
# 對於 Windows 用戶:
# - 路徑格式可以是 "C:\\folder\\some.exe",也可以是 "C:/folder/some.exe"
# - 路徑的目標是可執行二進制文件,而不是目錄
$ claude mcp add mpv-handler \
-- python -m otcore.mcp_server <graph>