Collection of mpv user scripts.
command_palette and search_menu are documented here, all other scripts are documented directly in the script via code comment at the beginning of the script.
- powershell-completion - PowerShell command line completion.
- command_palette - Searchable menu for bindings, playlist, chapters, profiles, audio/subtitle/video tracks, commands, properties, options, audio devices.
- search_menu - Searchable menu for bindings, commands, properties, playlist entries and audio/subtitle tracks.
- auto_mode.lua - Use mpv as video player, music player and image viewer.
- delete_current_file.lua - Moves the currently playing file instantly to the recycle bin.
- file_rating.lua - Writes a star rating to the filename of the currently playing file.
- history.lua - Writes date, time, playtime and filename to a log file.
- osm.lua - Shows a customizable on screen menu.
- misc.lua
- Show detailed media info on screen (Screenshot).
- Cycle audio and subtitle tracks, include only languages you know.
- Paste/Load/Append files/URLs from clipboard.
- Jump to a random position in the playlist.
- Navigate in playlist to next/previous/first/last file.
- Restart mpv restoring the properties path, time-pos, pause and volume.
- Execute Lua code from input.conf.
- When seeking display position and duration like so: 70:00 / 80:00.
- average_volume.lua - Records and restores the relative volume for music.
command_palette is a searchable menu for bindings, playlist, chapters, profiles, audio/subtitle/video tracks, commands, properties, options, audio devices.
- Save the script at:
<mpv conf folder>/scripts/command_palette.lua
- Download extended-menu
and save it at:
<mpv conf folder>/script-modules/extended-menu.lua
Add bindings to input.conf:
F1 script-message-to command_palette show-command-palette bindings # Show bindings
F2 script-message-to command_palette show-command-palette commands # Show commands
F3 script-message-to command_palette show-command-palette properties # Show properties
F4 script-message-to command_palette show-command-palette options # Show options
F8 script-message-to command_palette show-command-palette playlist # Show playlist
Alt+c script-message-to command_palette show-command-palette chapters # Show chapters
Alt+a script-message-to command_palette show-command-palette audio # Show audio tracks
Alt+s script-message-to command_palette show-command-palette subtitles # Show subtitle tracks
Alt+v script-message-to command_palette show-command-palette video # Show video tracks
Alt+p script-message-to command_palette show-command-palette profiles # Show profiles
Alt+d script-message-to command_palette show-command-palette audio-devices # Show audio devices
Showing audio and subtitle tracks requires the installation of the CLI tool mediainfo.
- https://github.com/Seme4eg/mpv-scripts/tree/master#m-x
- https://github.com/Seme4eg/mpv-scripts/tree/master/script-modules
- https://github.com/CogentRedTester/mpv-search-page
- https://codeberg.org/NRK/mpv-toolbox/src/branch/master/mdmenu
- https://github.com/mpvnet-player/mpv.net
- https://github.com/tsl0922/ImPlay
search_menu is very similar to command_palette, it's based on the external tools Rofi (Linux) or terminal based on fzf (cross-platform).
It provides a searchable menu for bindings, commands, properties, playlist entries and audio/subtitle tracks.
See Dependencies section to install dependencies.
Save the search menu folder at <mpv conf folder>/scripts/search_menu/
,
it contains main.lua and a Python script.
Windows: input-ipc-server = \\.\pipe\mpvsocket
Linux: input-ipc-server = /tmp/mpvsocket
#mode=gnome-terminal+sh # Requires Linux and Gnome Terminal, default on Linux
#mode=alacritty+sh # Requires Linux and Alacritty
#mode=rofi # Requires Linux and Rofi
#mode=alacritty+ns # Requires Windows, Alacritty and Nushell
#mode=windows-terminal+ps # Requires Windows and Windows Terminal, default on Windows
#mode=windows-terminal+ns # Requires Windows, Windows Terminal and Nushell
On Windows Alacritty and Nushell have the advantage of a faster startup.
On Linux Alacritty has the advantage of not having any UI apart from the terminal.
Rofi has like mpv a steep learning curve.
F1 script-message-to search_menu show-search-menu binding # Search Binding
F2 script-message-to search_menu show-search-menu binding-full # Search Binding Full
F3 script-message-to search_menu show-search-menu command # Search Command
F4 script-message-to search_menu show-search-menu property # Search Property
F8 script-message-to search_menu show-search-menu playlist # Search Playlist
Alt+a script-message-to search_menu show-search-menu audio-track # Search Audio Track
Alt+s script-message-to search_menu show-search-menu sub-track # Search Subtitle Track
Which dependencies are required depend on which mode and feature is used.
- Python - Always required.
- Rofi - Required launcher app for rofi mode, depends on Linux and X11.
- fzf - Required CLI tool for modes other than rofi (terminal modes).
- MediaInfo - Required CLI tool to search audio or subtitle tacks.
- Alacritty - Modern, simple and fast terminal emulator.
- Nushell - Modern shell that starts 200 ms faster than PowerShell.
Invoke a menu via shortcut key, type a search keyword, use up/down key to select, enter key to confirm, escape key to close.
misc.lua has various features, among them is printing media info on the screen.