awesome-mpv
A curated list of awesome mpv resources.
https://github.com/stax76/awesome-mpv
Last synced: 15 days ago
JSON representation
-
Android
- shinchiro Sourceforge - Windows builds of mpv and libmpv. The advantage of this choice is that it has old builds for the case of new builds having issues.
- Manual
- Wiki
- mpv: The Best Video Player for Language Learning
- wiki
- mpsm - mpsm is a mpv script manager, you can install scripts provided by [mpsm-scripts](https://github.com/mpv-easy/mpsm-scripts), or install any script with added [meta info](https://github.com/mpv-easy/mpsm-scripts?tab=readme-ov-file#meta-info) via url.
- shinchiro GitHub - Daily Windows builds of mpv and libmpv. This is the most popular choice on Windows.
- zhongfly - Windows builds of mpv and libmpv. This choice is very similar to `shinchiro GitHub`, so it's also a recommendation.
- mitzsch - Windows builds of mpv and libmpv.
- Andarwinux - Daily Windows builds of mpv and libmpv including ARM64 architecture.
- android - Player for Android, based on Kotlin.
- Kt - Player for Android, based on Kotlin.
-
Audio
- visualizer - Various audio visualizations.
- pitchcontrol - Adjusts audio pitch in half-tone steps.
- firequalizer15 - Linear phase 15-bands equalizer.
- equalizer - 5-bands equalizer with colorful display.
- drcbox - Dynamic Audio Normalizer filter with visual feedback.
- dbvol - Replaces the default volume controls with a decibel (dB) scale instead of arbitrary percentages.
- cycle-adevice - Cycle through available audio devices.
- channel mixer - A set of keybindings using a modifier (Shift or Ctrl) and the function keys (F8-F12) to can adjust the mixing level of surround channels on the fly.
- audio-dupe - Runs a child process to play a second audio stream. Synced through named pipe.
- audio-balance - Port of mpv's balance property to FFmpeg lavfi pan filter.
- adevice-list - Interractive audio-device list menu.
- acompressor - Dynamic range compressor using acompressor ffmpeg filter with controls to dynamically adjust parameters.
- Sofalizer - Simulates 7.1 surround sound to your headset. Get the sofa file from [here](https://sofacoustics.org/data/database/clubfritz/ClubFritz6.sofa)
- ff-silence - Fast forward through silences and quiet parts of audio, useful on videos where the speaker uses many long pauses.
- Audio WebDAV & Sub WebDAV - Auto connection of external subtitles and sound, using the "WEBDAV" protocol. The connection is explicit due to explicitly specifying folders on the WebDAV server.
- Open Sound Control - Open Sound Control listener.
- volnorm - Client-server setup to provide EBU R.128 volume leveling to MPV, even if files stored on a server and played on multiple machines. (Works on Linux, probably all Unix-like; server in Perl).
- switch-both-audio - Switch between playing one or two audio tracks simultaneously upon file load or with a hotkey.
- afilter - Script for easy access to certain audio compressors and HRTF sofalizer in mpv with option to whitelist filters based on type of media.
- aspeed.lua - Multi-stereo speed randomization & tri-color clocks. Applies arbitrary speed formula & has chipmunk mode for left-channel. Also has double-mute insta-toggle. Primary channel may be left or right. A filterchain applies to all speakers - each is its own mpv. Has many script-messages. For mpv v0.34→v0.38, SMPlayer, Windows, Linux, MacOS, Android, YouTube, mp4, mp3, jpg, etc. But no randomization for Android. ([Example](https://raw.githubusercontent.com/TinosNitso/mpv-scripts/main/SCREENSHOT.webp) clock).
-
Configuration
- remember-props - When a property changes, it saves it to restore on next start. Saved values are not file-specific. List of properties to save is configured in `script-opts/remember-props.conf` file.
- config-saver - Saves current audio track, subtitle track, subtitle position, etc. for all videos in the folder.
- persist-properties - Keep selected property values (like volume) between player sessions.
- cycle-through-existing - Cycle through existing video/audio/subtitle tracks, skipping the "none" option.
- celebi - An optimized script to restore properties from past sessions. Alternative to persist-properties and remember-props scripts.
- show-conf-osd - Display configuration files on the OSD.
-
Cross-platform
- MoonPlayer - Based on C++/QT/QML.
- SMPlayer - Based on C++/QT.
- ImPlay - Based on C++/imgui.
- Baka-MPlayer - Unmaintained, based on C++/QT.
- movie-monad - Unmaintained, based on Haskell/GTK.
- OvoPlayer - Unmaintained, based on Pascal.
-
File
- KDialog-open-files - Use KDE's KDialog to add files to playlist, subtitles to playing video or open URLs.
- open-in-explorer - Shows the currently playing file in Windows File Explorer.
- open-dir - Opens the path of the current file in Windows File Explorer.
- show-filename - Show the name of the current playing file.
- file-browser - On screen file browser.
- filenavigator - Navigate and open local files.
- open-file-dialog - Launch a Windows open file dialog.
- zenity-open-files - Use GTK's zenity to add files to playlist, subtitles to playing video or open URLs.
- simple-loader - (Linux) Browse dirs and files on OSD, and launch them with mpv.
- Serkio Tagger - Annotate videos with tags while you watch.
- rename - Rename files on the go directly from within MPV player window without leaving it.
- limited-autoload - Auto-load files in a lazy way by limiting how many are loaded into playlist at once
- locate-file - Locate current media file on your OS file browser
- separator - Copy or move video files you wanna keep.
- mpv-file-organizer - Automatically organizes media files into folders based on metadata tags.
-
Image
- screenshot-to-clipboard - Takes a screenshot and saves it to the clipboard.
- clipshot - Screenshot the video (with subs, without subs or the whole window) and copy it to the clipboard. For Windows, Linux/BSD and MacOs
- gallery-dl_hook - Load online image galleries (imgur, etc) as playlists using [gallery-dl](https://github.com/mikf/gallery-dl/).
- abs-screenshot - Uses Exiftool to get the "Date/Time Original" and saves a screenshot with the name being the actual time the video was taken.
- contact-sheet - Display thumbnails of the current file in the style of a contact sheet.
- thumbfast - High-performance on-the-fly thumbnailer for mpv.
- takeSsSequence - Take a sequence of equispaced screenshots.
- crop_script - Take cropped screenshots.
- gif-generator - Creates animated gifs using hotkeys.
- waifu2x - Take screenshot and convert images with waifu2x.
- webp-generator - Creates animated webp using mpv hotkeys. (Windows only)
- image-config - A configuration to use mpv as an image viewer.
- gallery-dl-view - Load image galleries directly in mpv like gallery-dl_hook but with extra functionality like binding a key to download images, optionally only loading images that are new since the gallery was last opened, and more.
- mpv-image-viewer - Configuration, scripts and tips for using mpv as an image viewer.
- screenshot-mosaic - Create a mosaic/thumbnail image.
- sorted-screenshots - Sort screenshots based on the file they're screenshotted from and nested directories.
- screenshotfolder - Place screenshots into folders for each video, along with timestamping them.
- webp-avif-generator - Creates animated webp/avif using mpv A-B loop and FFmpeg. (Support Windows and Linux)
- gallery-screenshots - In‑player tiled screenshot gallery that turns your screenshots into visual bookmarks for fast navigation. Click thumbnails to jump instantly. Export screenshots to contact sheets (PNG), CSV, and Excel table XLSX.
-
Input
- zones - Handles commands depending on where the mouse pointer is at, mostly for mouse wheel handling.
- russian-layout-bindings - As mpv does not support shortcuts independent of the keyboard layout (https://github.com/mpv-player/mpv/issues/351), this script tries to workaround this issue for some limited cases with russian (йцукен) keyboard layout. Upon startup, it takes currently active bindings from `input-bindings` property and duplicates them for russian layout. You can adapt the script for your preferred layout, but it won't (of course) work for layouts sharing unicode characters with english.
- multisocket - Creates a numbered socket for each instance of mpv.
- cycle-commands - Allows input.conf commands to be cycled through with keybinds.
- cycle_messages - Cycle between custom OSD messages.
- audio-file-keys - Automatically apply key bindings when playing audio files.
- blackout - A fast crossplatform boss-key, but without window minimization (and possible problems with some VO drivers).
- gestures - Touchscreen and mouse gestures.
- touch-gestures - Gestures for play/pause, speed, volume, seeking and next/previous playlist-item.
- cheatsheet - Looking up keyboard shortcuts (bindings).
- InputEvent - Enhanced input.conf with better, conflict-free, low-latency event mechanism.
- repl - A REPL for input commands that is displayed on the video window.
- pointer-event - Mutually exclusive, low latency mouse/touch input event detection. Executes configurable commands on single-click, double-click, long-click and dragging.
- Sockets - creates one IPC sockets per mpv instance, instead of one socket for the last started instance. _Supports_: Linux, MacOS and Windows.
- boss-key-wayland - Minimise and pause video at the same time in Linux through xdg-portals.
- mpv-omniGlass - Touchpad gestures for mpv.
-
Learning
- subs2srs - Automatically add new card in Anki with audio, picture and text.
- sub-voracious - Reading and listening practice.
- mpvacious - Add keybindings to create Anki flashcards for (language) learning.
- interSubs - Interactive subtitles, instantly translate selected word/sentence.
- immersive - Looking up words generating Anki flashcards.
- migaku - Learn languages together with the Migaku browser extension.
- Yomichampv - A simple solution for integration with Yomichan - a browser-based japanese dictionay.
- rikai - Integrated Japanese dictionary and parser to translate by hovering over words. Works on Linux.
- mpv2anki - A simple way to add notes to Anki with Audio, screenshots and/or subtitles, with few dependencies.
- lang-learner - Turn MPV into language learner tool. Includes: AB-loop current subtitle or auto loop each one, quick switch between lang you know and lang you are learning, forward to browser (dictionaries, translators), record for future extra learning, export to external script for integrations, and a bit more.
- mpv2anki alyssabedard - (Different script with Windows, macOS and Linux support) A simple script to assist your language learning journey in any language by automatically capturing multimedia content from mpv to Anki.
- mpv-Subtitle-Definition - Instant, on-screen definitions for difficult or obscure words found in subtitles.
-
Library
- extended-menu - API to create a searchable menu (command palette).
- user-input - API to request text user input.
- scroll-list - API to create interactive scrollable lists
- osc-framework - OSC framework to help build your custom OSC.
-
Linux
- Celluloid - Based on C/GTK.
- Official mpv installation instruction
- How to Use MPV on Windows
- Kawaii Player - Player/Library/Server, based on Python/QT.
- xt7-player-mpv - Based on Gambas/QT.
- mpvz - Based on C++/QT/QML.
- Haruna - Based on C++/QT/QML.
- Deepin Movie - Unmaintained, based on C++/QT.
-
Menu
- mdmenu - Use dmenu (Linux launcher) for selecting audio/subtitle/chapters etc.
- Tcl/Tk context-menu - Configurable context-menu based on Tcl/Tk (cross-platform).
- dyn_menu - Context Menu with support for defining the context menu in input.conf.
- playlist-kdialog - Use KDE's KDialog or GTK's zenity to show current playlist or select playlist entry.
- uosc - Popular OSC with menu.
- search-page - Searchable and configurable menu to quickly find key bindings, commands, options and properties.
- menu - Configurable on screen menu to run custom commands.
- mpvc-tui - Command-line and TUI for mpv.
- contextmenu - Comprehensive context-menu forked from [Tcl/Tk context menu](https://gist.github.com/avih/bee746200b5712220b8bd2f230e535de).
- menu - Configurable on screen context-menu.
- menu-plugin - Win32 context menu, file dialog, clipboard support for mpv on Windows.
- select - Menu script built into mpv.
- mpvselectmenu - Context-menu inspired by `select.lua` utilising mpv's `input` and `console` script functionality. Uses other scripts (see Requirements).
-
Music
- coverart - Automatically loads external cover art for music files.
- metadata-osd - Adds OSD showing song name, album name and other metadata.
- lrc - Download synchronized lyrics of the currently playing song.
-
On Screen Controller
- osd-bar - Always show osd progress bar, with the more beautiful color matching in the [configuration file](https://github.com/422658476/MPV-EASY-Player/blob/master/mpv-easy-data/rjno1.conf), you can make the osd progress bar display the current progress at the bottom of the window beautifully,this is a [preview](https://raw.githubusercontent.com/422658476/MPV-EASY-Player/master/img/mpv-easy-player-osd-bar-lua.jpg).
- osc-style - Change the mpv OSC to a more beautiful and practical look, which is the osc theme feature, a variety of styles to choose from,this is a [tutorial and a preview](https://github.com/422658476/MPV-EASY-Player#%E7%9C%8B%E5%88%B0%E4%B8%8A%E9%9D%A2%E5%9B%BE%E4%B8%8A%E8%BF%99%E4%BA%9Bosc%E6%A0%B7%E5%BC%8F%E4%BA%86%E5%90%97%E5%AE%83%E4%BB%AC%E4%B8%8D%E4%BB%85%E5%8F%AF%E4%BB%A5%E5%AD%98%E5%9C%A8%E4%BA%8Empv-easy-player%E4%B8%AD%E4%BD%A0%E4%BD%BF%E7%94%A8%E7%9A%84mpv%E7%9A%84osc%E4%B9%9F%E5%8F%AF%E4%BB%A5%E5%8F%98%E6%88%90%E8%BF%99%E6%A0%B7).
- mfpbar - A minimalistic progressbar and osc replacement.
- osc-show-hide - Toggles the on-screen controller with a hotkey.
- osc-modern - Modern OSC replacement.
- ModernX - Modern OSC replacement.
- modern-x-compact - Compact version of modern-x.
- tethys - OSC replacement with seekbar thumbnail preview.
- dark-box - OSC replacement.
- oscc - Dark-themed OSC.
- thumbnail_script - Shows preview thumbnails in the seekbar.
- thumbnail_script - Shows preview thumbnails in the seekbar.
- thumbnail_script - Shows preview thumbnails in the seekbar.
- sosc - An OSC supplement for OSC replacements. Provides the idle message and script messages from the original OSC.
- progressbar - A minimalistic OSC replacement. It provides a small, unintrusive progress bar that persists at the bottom of the video window.
- osc-orange - An osc/ui replacement in dark theme.
- osc-simple - An OSC/UI replacement of white theme.
- osc-modern-f - OSC script forked from [mpv-osc-modern](https://github.com/maoiscat/mpv-osc-modern).
- ModernX zydezu - A fork of ModernX with many additional features and customization.
- ModernZ - A fork of ModernX designed to enhance functionality by adding more features, all while preserving the core standards of mpv's OSC.
- mfpbar-drag - mfpbar with support for dragging the bar.
- uosc_history_menu - A history and bookmark management menu integrated with uosc.
-
Other
- copy-permalink - Copy `mpv --time=<current-position> <path-playing>` to clipboard. Useful for sharing when playing URLs.
- vo_battery - Choose the VO based on if the laptop is on battery or not.
- tv-output - TV output handling - activate on mpv playback and deactivate on mpv shutdown.
- ontop-window - Disables the ontop property when in fullscreen, and enables it again when in window mode, if it was disabled.
- ontop-only-while-playing - Ontop is only active during video playback. Ontop is automatically disabled during idle, pause and is able to be dynamically disabled without having to restart unlike the previous script.
- ontop-playback - Disables the ontop property when pausing, and enables it again when unpausing the video, if it was disabled. Change it only when the player is not in fullscreen to prevent screen flickering.
- pause-when-minimize - Pauses the player video when minimizing, and unpauses it when brought up again.
- scale-win - Restore old "window-scale" behavior, so to make "add window-scale +/-<value>" keybinds work again when any of the autofit-* options are defined.
- profile-cycle - Cycle between your custom defined profiles while watching the video.
- osd-clock - Periodically shows OSD clock (many configurable options).
- minesweeper - Minesweeper game.
- local-language - Let the text displayed by osd become the language you are most familiar with, that is, language localization, such as 【volume: 100%】 becomes 【音量:100%】.
- gnome-inhibit - Prevent the screen from blanking under GNOME+Wayland while a video is playing.
- xscreensaver - (Linux) Disables XScreensaver while video playback is active, a replacement for heartbeat-cmd.
- force-window-profile - Applies the force-window profile when force-window is set (i.e. when starting mpv from the .desktop file)
- exit-fullscreen - If you use `--keep-open=yes`, this script exits fullscreen mode when the playback reaches the end of file/playlist.
- convert_script - Script to quickly convert and crop videos from within mpv, with a GUI.
- change-screen-by-aspect-ratio - Change the active fs-screen based on video's aspect ratio (for systems with monitors in landscape and portrait orientations).
- bstat - Calculates new user-data properties (req mpv v0.36) including avg-bitrate, rounded file-size, exact aspect ratio, etc. Output to terminal or OSD. Updates when a new file is loaded or on demand.
- Harmonoid - Cross-platform, based on Dart/Flutter.
- Stremio - Cross-platform, based on C++/QT.
- Glow
- Awan
- LumaSharpenHook - A sharpen filter similar to using Unsharp Mask in Photoshop ported from SweetFX shader pack.
- SSimDownscaler, SSimSuperRes, Krig, Adaptive Sharpen, etc. - * SSimDownscaler: Perceptually based downscaler. More information is [here](https://graphics.ethz.ch/~cengizo/imageDownscaling.htm). SSimSuperRes: The aim of this shader is to make corrections to the image upscaled by mpv built-in scaler (removes ringing artifacts, restores original sharpness, etc). Krig: Chroma scaler that uses luma information for high quality upscaling.
- Noise - Simplistic filter that adds a tunable amount of uniform white noise to the output.
- Film Grain v1 - conf/xor/home/nand/.mpv/shaders/filmgrain-smooth.glsl) - Two configurable shaders for applying gaussian-weighted white noise to the image. v2 is a smoothed version of v1, which uses an extra gaussian blur pass to shift the grain frequency spectrum. Both versions can trivially be adapted to add film grain to other channels besides `LUMA` by just adding it to the list of hooks.
- Antiringing - This is an antiringing filter that works by clamping to the local neighbourhood. Sort of inspired by the mpv built-in antiringing algorithm, but it's extended in such a way that it also works well for polar (EWA) filters, which the mpv built-in algorithm does not support at all.
- nnedi3 and ravu - User shaders for prescaling.
- acme-0.5x - Fastest 0.5x downscaler for mpv, useful for 4K video playback on FHD screen (bypass chroma upscaling and color conversion in 4K resolution).
- lensfix - Fix radial distortion commonly found in wide angle action cameras.
- hyperview - Dynamic stretching filter aiming to bring effects similar to GoPro SuperView.
- FSRCNN - Prescaler based on layered convolutional networks.
- un360 - Converts equirectangular 360 degree video to be watchable, at a fixed perspective.
- Nonlinear stretch - Non-linear stretch scaling. use with `--no-keepaspect`.
- FidelityFX CAS - AMD FidelityFX Contrast Adaptive Sharpening (CAS) provides a mixed ability to sharpen and optionally scale an image. The algorithm adjusts the amount of sharpening per pixel to target an even level of sharpness across the image. Areas of the input image that are already sharp are sharpened less, while areas that lack detail are sharpened more. This allows for higher overall natural visual sharpness with fewer artifacts.
- FidelityFX FSR - AMD FidelityFX Super Resolution is a spatial upscaler: it works by taking the current anti-aliased frame and upscaling it to display resolution without relying on other data such as frame history or motion vectors. At the heart of FSR is a cutting-edge algorithm that detects and recreates high-resolution edges from the source image. Those high-resolution edges are a critical element required for turning the current frame into a “super resolution” image. FSR provides consistent upscaling quality regardless of whether the frame is in movement, which can provide quality advantages compared to other types of upscalers.
- NVIDIA Image Scaling - NVIDIA Image Scaling is a spatial scaling and sharpening algorithm. The scaling algorithm uses a 6-tap scaling filter combined with 4 directional scaling and adaptive sharpening filters, which creates nice smooth images and sharp edges. In addition, an adaptive-directional sharpening-only algorithm is available. The directional scaling and sharpening algorithm is named NVScaler while the adaptive-directional-sharpening-only algorithm is named NVSharpen.
- nlmeans, hdeband, & more - nlmeans is a featureful implementation of the Non-local Means algorithm, it does both denoising and adaptive sharpening. hdeband is an implementation of a debanding algorithm that blurs homogeneous regions together.
- NLS# - Tunable bidirectional nonlinear stretching with optional cropping and padding.
- A-Pack - Shaders pack for quick Adjustment of (web) video: brightness/contrast curves (tooDark, tooBright, bShadows, bDim, etc.) and color (vibrance, skintones, Black&White). Runs on integrated graphics.
- mvtools - Use [MVTools](https://github.com/dubhater/vapoursynth-mvtools)'s BlockFPS function to perform motion interpolation on the video in realtime.
- nnedi3 - Use [NNEDI3](https://github.com/dubhater/vapoursynth-nnedi3) to double the resolution of the video. This always performs a single doubling. Note that the vapoursynth-nnedi3 filter is so slow that this practically can't be used in realtime, so it's not much use in practice.
- GSConnect - Implementation of KDE Connect for GNOME.
Programming Languages
Categories
Sub Categories
Keywords
mpv
176
mpv-script
134
lua
43
mpv-player
32
mpv-scripts
18
video
16
ffmpeg
15
windows
14
script
14
subtitles
12
video-player
11
media-player
11
linux
11
mpv-config
10
mpv-osc
9
youtube
8
language-learning
8
libmpv
8
lua-script
7
player
7
cross-platform
7
audio
7
multimedia
5
music-player
5
python
5
youtube-dl
5
discord
4
discord-rich-presence
4
macos
4
gui
4
yt-dlp
4
glsl
4
thumbnails
4
anki
4
qt
4
webm
4
rich-presence
3
audio-player
3
danmaku
3
ubuntu
3
libnotify
3
mplayer
3
image-viewer
3
screenshot
3
cropping
3
osc
3
clip
3
ajatt
3
playlist
3
yomichan
3