- About mpv.net
- Requirements
- Installation
- External Tools
- Command Line Interface
- Terminal
- Color Theme
- Hidden and secret features
- Context Menu
- Open > Open Files
- Open > Open URL
- Open > Show media search
- Open > Load external audio files
- Open > Load external subtitle files
- Play/Pause
- Stop
- Toggle Fullscreen
- Navigate > Previous File
- Navigate > Next File
- Navigate > Next Chapter
- Navigate > Previous Chapter
- Navigate > Jump Next Frame
- Navigate > Jump Previous Frame
- Navigate > Jump
- Pan & Scan > Increase Size
- Pan & Scan > Decrease Size
- Pan & Scan > Move Left
- Pan & Scan > Move Right
- Pan & Scan > Move Up
- Pan & Scan > Move Down
- Pan & Scan > Decrease Height
- Pan & Scan > Increase Height
- Pan & Scan > Reset
- Video > Decrease Contrast
- Video > Increase Contrast
- Video > Decrease Brightness
- Video > Increase Brightness
- Video > Decrease Gamma
- Video > Increase Gamma
- Video > Decrease Saturation
- Video > Increase Saturation
- Video > Take Screenshot
- Video > Toggle Deinterlace
- Video > Cycle Aspect Ratio
- Audio > Cycle/Next
- Audio > Delay +0.1
- Audio > Delay -0.1
- Subtitle > Cycle/Next
- Subtitle > Toggle Visibility
- Subtitle > Delay -0.1
- Subtitle > Delay 0.1
- Subtitle > Move Up
- Subtitle > Move Down
- Subtitle > Decrease Subtitle Font Size
- Subtitle > Increase Subtitle Font Size
- Volume > Up
- Volume > Down
- Volume > Mute
- Speed > -10%
- Speed > 10%
- Speed > Half
- Speed > Double
- Speed > Reset
- Extensions > Rating > 0stars
- View > On Top > Enable
- View > On Top > Disable
- View > File Info
- View > Show Statistics
- View > Toggle Statistics
- View > Toggle OSC Visibility
- View > Show Playlist
- View > Show Audio/Video/Subtitle List
- Settings > Show Config Editor
- Settings > Show Input Editor
- Settings > Open Config Folder
- Tools > Command Palette
- Tools > Show History
- Tools > Set/clear A-B loop points
- Tools > Toggle infinite file looping
- Tools > Toggle Hardware Decoding
- Tools > Show REPL
- Tools > OS Setup
- Help > Show mpv manual
- Help > Show mpv.net manual
- Help > Check for Updates
- Help > About mpv.net
- Exit
- Exit Watch Later
mpv.net is a modern desktop media player for Windows. mpv is similar to VLC not based on DirectShow like MPC, mpv.net is based on libmpv which in return is based on ffmpeg.
libmpv provides the majority of the features of the mpv media player, a fork of mplayer. mpv focuses on the usage of the command line interface, mpv.net retains the ability to be used from the command line and adds a modern GUI on top of it.
mpv.net is designed to be mpv compatible, almost all mpv features are available because they are all contained in libmpv, this means the official mpv manual applies to mpv.net.
The target audience of mpv and mpv.net are programmers, nerds and software enthusiasts that need a desktop player that is more advanced than a normal desktop player. mpv.net is very similar to mpv so it's well suited to learn mpv.
mpv.net requires minimum .NET Framework 4.8 and Windows 7. For optimal results a modern graphics card is recommended.
mpv.net is available as setup and as portable download in the 7zip and Zip archive format, to unpack the portable download 7zip can be used, it is available at www.7-zip.org.
If you are new to mpv.net the portable download is recommended, for regular mpv.net users the setup is typically more easy to use.
The x64 editions require more memory and have the advantage of being typically first and better optimized for x64.
x86 (32-bit) is not recommended but should still be well supported and work but it's not as well tested as x64.
Stable releases are compiled from the source and can be downloaded from the releases tab:
https://github.com/stax76/mpv.net/releases
Scoop can be used to install and update it:
scoop bucket add extras
scoop install mpv.net
Alternatively, Chocolatey can also be used:
choco install mpvnet.install
File Associations can be created using the setup or with the context menu under 'Tools > OS Setup'.
After the file associations were registered go to the Windows settings under 'Settings > Apps > Default apps' or shell execute ms-settings:defaultapps and choose mpv.net as default app for Video and optionally for Audio and Images.
It's also possible to change the default application using the 'Open with' feature of the context menu in File Explorer.
Open with++ can be used to extend the File Explorer context menu to get menu items for 'Play with mpv.net' and 'Add to mpv.net playlist'.
In order to play videos from sites such as YouTube the Chrome Extension Play with mpv can be used.
Due to Chrome Extensions not being able to start a app, another app that communicates with the extension is required, this app can be downloaded here. The extension works only when the app is running, to have the app always running a link can be created in the auto start folder located at:
C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
This will start the app on system start and have it running in the background. When the file association registration of mpv.net was executed then the app should find the location of mpv.net, alternativly the mpv.net folder can be added to the Path environment variable.
Alternatively Chrome/Firefox extension External Application Button can be used.
Open with++ allows to customize the File Explorer context menu to add menu items 'Play with mpv.net' and 'Add to mpv.net playlist'.
https://github.com/stax76/OpenWithPlusPlus
https://github.com/stax76/OpenWithPlusPlus#mpvnet
https://github.com/stax76/OpenWithPlusPlus#add-to-mpvnet-playlist
MediaInfo.NET is a media info GUI.
https://github.com/stax76/MediaInfo.NET
To start a external application mpv has the run input command (it does not use the shell).
If the path has spaces then it must be enclosed in quotes and then double backslashes must be used for escaping or alternatively forward slashes.
_ run D:\Software\MediaInfoNET.exe "${path}" #menu: Tools > Open file with MediaInfo.NET
_ run "D:\\Soft ware\\MediaInfoNET.exe" "${path}" #menu: Tools > Open file with MediaInfo.NET
_ run "D:/Soft ware/MediaInfoNET.exe" "${path}" #menu: Tools > Open file with MediaInfo.NET
mpvnet implements a command line interface to set mpv commands.
Supported are all mpv properties which are documented at:
Example:
mpvnet --mute=yes <file|URL>
When mpv.net is started from a PowerShell terminal it will attach to the terminal and print status and debug messages.
Certain error and debug messages are only visible on the terminal, JavaScript and Lua scripts must be debugged with the terminal as there is no support for a debugger.
mpv.net supports custom color themes, the definition of the built-in themes can be found at:
https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/theme.txt
Custom themes can be saved at:
<conf folder>\theme.conf
The theme.conf file may contain an unlimited amount of themes.
In the config editor under UI there are the settings dark-theme and light-theme to define the themes used in dark and in light mode.
Hidden and secret features
Selecting multiple files in File Explorer and pressing enter will open the files in mpv.net. Explorer restricts this to maximum 15 files and the order will be random.
Whenever the control key is pressed when files or URLs are opened, the playlist is not cleared but the files or URLs are appended to the playlist. This works in all mpv.net features that open files or URLs.
Pressing the shift key while opening a single file will suppress loading all files in the folder.
The most important part of the user interface in mpv.net is the context menu, the menu can be customized as it's defined in the same file where the key and mouse bindings are defined (input.conf).
The Open Files menu entry is one way to open files in mpv.net, it supports multi selection.
Another way to open files is the command line, it is used by the File Explorer if file associations exist.
When mpv.net is started from a terminal such as PowerShell, mpv.net attaches to the terminal and outputs status and debug messages.
A third way is to drag and drop files on the main window.
Whenever the control key is pressed when files or URLs are opened, the playlist is not cleared but the files or URLs are appended to the playlist. This works in all mpv.net features that open files or URLs.
Pressing the shift key while opening a single file will suppress loading all files in the folder.
The Open URL menu entry can be used to open URLs for example from YouTube.
mpv.net monitors the Windows clipboard and ask if URLs should be played in case it finds a URL in the clipboard. This feature uses a keyword whitelist that can be configured in the config editor.
When mpv.net is started from a terminal such as PowerShell, mpv.net attaches to the terminal and outputs status and debug messages.
Whenever the control key is pressed when files or URLs are opened, the playlist is not cleared but the files or URLs are appended to the playlist. This works in all mpv.net features that open files or URLs.
mpv.net supports system wide media searches using the Everything indexing service installed by the popular file search tool Everything (www.voidtools.com).
Allows to load an external audio file. It's also possible to auto detect external audio files based on the file name, the option for this can be found in the settings under 'Settings > Show Config Editor > Audio > audio-file-auto'.
Allows to load an external subtitle file. It's also possible to auto detect external subtitle files based on the file name, the option for this can be found in the settings under 'Settings > Show Config Editor > Subtitles > sub-auto'.
Play/Pause using the command:
cycle pause
Stops the player and unloads the playlist using the command:
stop
Toggles fullscreen using the command:
cycle fullscreen
Navigates to the previous file in the playlist using the command:
playlist-prev
Navigates to the next file in the playlist using the command:
playlist-next
Navigates to the next chapter using the command:
add chapter 1
Navigates to the previous chapter using the command:
add chapter -1
Jumps to the next frame using the command:
frame-step
Jumps to the previous frame using the command:
frame-back-step
Seeking using the command:
no-osd seek sec
sec is the relative amount of seconds to jump, the no-osd prefix is used because mpv.net includes a script that shows the position when a seek operation is performed, the script uses a more simple time format.
Adds video zoom using the command:
add video-zoom 0.1
Adds negative video zoom using the command:
add video-zoom -0.1
add video-pan-x -0.01
video-pan-x, video-pan-y property
add video-pan-x 0.01
video-pan-x, video-pan-y property
add video-pan-y -0.01
video-pan-x, video-pan-y property
add video-pan-y 0.01
video-pan-x, video-pan-y property
add panscan -0.1
add panscan 0.1
Resets Pan & Scan, multiple commands in the same line are separated with semicolon.
set video-zoom 0; set video-pan-x 0; set video-pan-y 0
video-pan-x, video-pan-y property
Decreases contrast with the following command:
add contrast -1
Increases contrast with the following command:
add contrast 1
Decreases brightness using the following command:
add brightness -1
Increases brightness using the following command:
add brightness 1
Decreases gamma using the following command:
add gamma -1
Increases gamma using the following command:
add gamma 1
Decreases saturation using the following command:
add saturation -1
Increases saturation using the following command:
add saturation 1
async screenshot
Cycles the deinterlace property using the following command:
cycle deinterlace
Cycles the aspect ratio using the following command:
cycle-values video-aspect "16:9" "4:3" "2.35:1" "-1"
This uses a mpv.net command that shows better info then the mpv preset and also has the advantage of not showing no audio.
Adds a audio delay using the following command:
add audio-delay 0.1
Adds a negative audio delay using the following command:
add audio-delay -0.1
Shows the next subtitle track using the following command:
cycle sub
Cycles the subtitle visibility using the following command:
cycle sub-visibility
Adds a negative subtitle delay using the following command:
add sub-delay -0.1
Adds a positive subtitle delay using the following command:
add sub-delay 0.1
Moves the subtitle up using the following command:
add sub-pos -1
Moves the subtitle down using the following command:
add sub-pos 1
Decreases the subtitle font size using the following command:
add sub-scale -0.1
Increases the subtitle font size using the following command:
add sub-scale 0.1
Increases the volume using the following command:
add volume 10
Decreases the volume using the following command:
add volume -10
Cycles the mute property using the following command:
cycle mute
Decreases the speed by 10% using the following command:
multiply speed 1/1.1
Increases the speed by 10% using the following command:
multiply speed 1.1
Halfs the speed using the following command:
multiply speed 0.5
Doubles the speed using the following command:
multiply speed 2
Resets the speed using the following command:
set speed 1
A plugin the writes the rating to the filename.
Forces the player to stay on top of other windows using the following command:
set ontop yes
Disables the player to stay on top of other windows using the following command:
set ontop no
Shows info using a mpv.net command about the current file, shows length, position, formats, size and filename.
Show statistics using the following command:
script-binding stats/display-stats
Toggles statistics using the following command:
script-binding stats/display-stats-toggle
Toggles OSC Visibility using the following command:
script-binding osc/visibility
Shows the playlist for 5 seconds using the following command:
show-text ${playlist} 5000
Shows the Audio/Video/Subtitle list for 5 seconds using the following command:
show-text ${track-list} 5000
Shows mpv.net's config editor.
Shows mpv.net's key binding editor.
Opens the config folder which contains:
mpv.conf file containing mpv settings
mpvnet.conf file containing mpv.net settings
input.conf containing mpv key and mouse bindings
User scripts and user extensions
Shows the command palette window which allows to quickly find and execute commands and key shortcuts.
Shows a text file that contains the file history. If the file don't exist it asks if the file should be created in the settings folder. Once the file exist then the history is logged. It logges the playback history containing the time and filename.
Enables to set loop start and end points using the following command:
ab-loop
Loops the current file infinitely using the following command:
cycle-values loop-file "inf" "no"
Cycles the hwdec property to enable/disable hardware decoding using the following command:
cycle-values hwdec "auto" "no"
Shows a on screen REPL.
https://github.com/rossy/mpv-repl
Allows to manage file associations.
Shows the mpv manual.
Shows the mpv.net web site.
Shows the mpv.net manual.
Checks for updates and allows to execute the update routine.
The update routine requires PowerShell 5 and curl, an up to date Windows 10 system has both included.
Shows the mpv.net about dialog which shows a copyright notice, the versions of mpv.net and libmpv and a license notice (MIT).
Exits mpv.net using the following command:
quit
Exits mpv.net and remembers the position in the file using the following command:
quit-watch-later