- Use mpv.com for visible terminal diagnostics and script output.
- Use mpv.exe for clean GUI launching and file associations.
- Test with --no-config before changing profiles, drivers, scripts, or decoding.
- Confirm the Symptom With a Minimal Clean mpv Command
- Check the Setting Directly Related to the mpv Player Issue
- Check Windows, Paths, Permissions, Drivers, and Media Limits
- Use mpv Diagnostics Without Guessing
- Run a Clean Temporary Test Before Changing Multiple Options
- Quick Fix Checklist
- Frequently Asked Questions
Seeing both mpv.com and mpv.exe in a Windows mpv folder can look like a broken or duplicate installation. In a normal Windows build, however, they are two launchers for the same media player. The important difference is how they interact with a terminal: mpv.com is intended for console use and keeps diagnostic output visible, while mpv.exe uses GUI-subsystem behavior and normally avoids opening or attaching a console window.
Choosing the wrong launcher rarely changes decoding, subtitle rendering, HDR processing, scripts, profiles, or playback quality by itself. It can change whether messages are visible, whether a script can capture output, and what happens when Windows opens a file association. If mpv is not working, first establish whether the problem is merely hidden output or a genuine config, media, driver, network, or external-tool failure.

Start with free Canva bundles
Browse the freebies page to claim ready-to-use Canva bundles, then get 25% off your first premium bundle after you sign up.
Free to claim. Canva-ready. Instant access.
1. Confirm the Symptom With a Minimal Clean mpv Command
Start from a terminal rather than double-clicking a media file. Open PowerShell or Command Prompt, change to the directory containing mpv, and invoke each launcher explicitly. Specifying the extension removes ambiguity about which file Windows selects.
1.1 Test mpv.com From a Terminal
In PowerShell, run the following command, replacing the media path with a real local file:
.\mpv.com --no-config "C:\Media\test video.mkv"
In Command Prompt from the same directory, use:
mpv.com --no-config "C:\Media\test video.mkv"
The --no-config option temporarily prevents user configuration files and scripts loaded through the normal config mechanism from influencing the result. It does not delete or modify anything.
Success means the player opens, the file plays, and status or error messages remain visible in the terminal. If this works, stop investigating the executable pair. The likely problem is a custom option, profile, script, input binding, file association, or the way another program launches mpv.
1.2 Compare mpv.exe Without Assuming It Is Broken
Run the corresponding executable:
.\mpv.exe --no-config "C:\Media\test video.mkv"
The playback window should behave similarly, but terminal output may not be attached or displayed in the same useful way. That is expected GUI-subsystem behavior, not evidence that mpv.exe is an inferior player.
If both commands play the same file, choose mpv.com for interactive troubleshooting and command-line automation that needs visible or captured output. Choose mpv.exe for shortcuts, desktop launching, and file associations where an extra console is undesirable.
1.3 Verify Which Program a Bare mpv Command Selects
Windows command resolution can select a file based on its extension and shell rules. Do not assume that typing mpv invokes mpv.exe. Use where.exe mpv to find matching installations, then call the desired path and extension explicitly.
If multiple results appear, an older copy earlier in PATH may be responsible for inconsistent behavior. Success means the terminal and your scripts resolve to the intended installation. Once confirmed, stop changing playback options.
2. Check the Setting Directly Related to the mpv Player Issue
After a clean local file works, reproduce the original symptom with the fewest relevant options. Add settings back individually rather than restoring everything at once.
2.1 Config Files, Profiles, and Input Bindings
A Windows mpv configuration commonly includes files such as mpv.conf and input.conf. The exact configuration directory can depend on packaging and launch options, so use mpv's terminal output and documented configuration search behavior rather than guessing.
Test the normal configuration with:
.\mpv.com --show-profile=default "C:\Media\test video.mkv"
The --show-profile option prints a profile's contents. For a named profile, replace default with its name. Also inspect any auto profiles whose conditions match the file, protocol, display, or other property.
If --no-config works but normal startup fails, temporarily comment out only the most likely option. Check recently added output settings, shader paths, script options, profile conditions, and bindings that execute commands. Do not delete the entire configuration folder.
Success means the normal command works after one identified line is disabled or corrected. Keep the rest of the configuration unchanged and stop there.
2.2 Subtitles, Audio, and Video Tracks
A missing subtitle or silent track is not normally caused by choosing mpv.com instead of mpv.exe. Use the on-screen track list or terminal messages to determine what the file actually contains. The default stats overlay is commonly toggled with i, while interactive track selection depends on current input bindings.
Useful clean tests include:
--sid=autoto return subtitle selection to automatic behavior--aid=autoto return audio selection to automatic behavior--vid=autoto return video selection to automatic behavior--sub-auto=exactwhen testing conservative external-subtitle matching--no-subto determine whether a problematic subtitle stream triggers the failure
For external subtitles, confirm that the subtitle file is readable and test it explicitly with --sub-file="C:\Media\test.en.srt". Success means the expected track appears and can be selected. If the track is absent from the list, changing launcher files will not create it.
2.3 Output Drivers, Hardware Decoding, HDR, and Shaders
Black video, a frozen first frame, corrupted colors, or immediate exit may involve the video output, GPU driver, hardware decoder, HDR path, or custom shaders. Establish software-decoding behavior first:
.\mpv.com --no-config --hwdec=no "C:\Media\problem.mkv"
If that works, repeat with a conservative hardware-decoding request:
.\mpv.com --no-config --hwdec=auto "C:\Media\problem.mkv"
If only software decoding works, update the GPU driver from the GPU or computer manufacturer's trusted channel and review any forced decoder or output options. Temporarily omit custom shaders and HDR-specific profiles. Do not install random codec packs: mpv normally uses its own supported media stack, and unrelated system codec bundles can introduce confusion without fixing mpv's actual path.
Success means video renders reliably using a known-good output path. Once a particular hardware-decoding or shader option is identified, change that option alone.
2.4 Online URLs, yt-dlp, Playlists, and Streams
For online media, mpv.com is especially useful because external-tool and network errors remain visible. First determine whether mpv can open a direct, authorized media URL. Then test a site URL that requires yt-dlp integration.
Confirm that the external program is available:
where.exe yt-dlp
If it is not on PATH, configure a trusted, known installation explicitly using mpv's script options or adjust the launching environment. A script, scheduled task, or file manager may receive a different PATH from your interactive terminal.
Quote URLs containing & or other shell-sensitive characters. In Command Prompt, an unquoted ampersand separates commands. In PowerShell, quoting also prevents unwanted interpretation. Test only streams you are authorized to access, and do not attempt to bypass DRM.
Success means terminal output shows URL resolution followed by normal demuxing and playback. If a direct URL works but a webpage URL does not, focus on yt-dlp availability, site support, authentication permitted by the service, or network access rather than the mpv launcher.
2.5 Screenshot Settings and Writable Paths
If playback works but screenshots fail, inspect the screenshot directory and filename template. A path may be missing, read-only, malformed, or inaccessible under the account launching mpv. Test with a simple existing directory:
.\mpv.com --no-config --screenshot-directory="C:\Users\Public\Pictures" "C:\Media\test video.mkv"
Trigger a screenshot using your configured binding and watch the terminal response. Success means mpv reports a saved file and the image exists at the stated location. At that point, correct only the original directory or template.

3. Check Windows, Paths, Permissions, Drivers, and Media Limits
3.1 Shell Quoting and Script Launching
Paths containing spaces must be quoted. In a batch file, use a robust pattern such as:
"C:\Tools\mpv\mpv.com" --no-config "%~1"
Use mpv.com when a batch file, build process, or diagnostic script needs console output or an exit status that can be observed. Redirect output when appropriate:
"C:\Tools\mpv\mpv.com" "C:\Media\test.mkv" > "C:\Temp\mpv-console.txt" 2>&1
Use mpv.exe when a launcher should open playback without presenting a console. If a script launches mpv.exe and seems to produce no explanation, switch only that invocation to mpv.com or add a log file.
3.2 File Associations
Windows file associations should usually point to mpv.exe because double-clicking a video is a GUI action. Associating files with mpv.com can produce an unwanted console window, depending on how Windows starts it. This cosmetic difference does not imply different playback engines.
If double-clicking fails but the terminal command succeeds, verify that the association points to the current executable and passes the selected file as one quoted argument. Recreate the association through trusted Windows settings or your mpv package's supported installation tools. Success means files open through Explorer without a stray terminal and play identically to the clean test.
3.3 Permissions and Security Software
Test files from an ordinary readable local folder before testing protected directories, network shares, or removable storage. Do not run mpv as administrator as a routine fix. Elevated launching can create different config, path, drag-and-drop, and network-share behavior.
If security software blocks mpv, scripts, yt-dlp, or shader files, verify that every binary came from a trusted distribution source before creating a narrowly scoped allowance. Never solve the problem by disabling protection globally.
3.4 Audio Devices and High-Bitrate Media
If video works but audio fails, test without a forced audio backend or named device. Device identifiers can change after driver updates, HDMI reconnection, or Bluetooth changes. Let mpv select the default device during the clean test.
For high-bitrate local or network media, distinguish decoding limits from storage or network throughput. Test the same file from a fast local disk. If local playback succeeds but a network share buffers, the executable choice is not the cause. Success is stable playback under one controlled source condition, after which you can isolate network bandwidth, server performance, or Wi-Fi reliability.
4. Use mpv Diagnostics Without Guessing
4.1 Increase Terminal Detail
Run the problem through mpv.com with targeted message levels:
.\mpv.com --msg-level=all=v "C:\Media\problem.mkv"
Verbose output can be extensive. Search near the first meaningful error rather than treating every warning as fatal. Decoder fallback messages, unavailable optional features, and non-selected tracks may be informational.
4.2 Write a Persistent Log File
When the terminal closes too quickly or the issue starts from Explorer, write diagnostics to a known path:
.\mpv.exe --log-file="C:\Temp\mpv.log" "C:\Media\problem.mkv"
This is a practical way to troubleshoot GUI launching. Ensure the destination directory already exists and is writable. The log appears at the path supplied to --log-file, while normal mpv.com messages appear in its attached terminal unless redirected.
4.3 Read the Evidence in Order
- Confirm the exact executable and command line.
- Find whether configuration files and scripts were loaded.
- Check file or URL opening.
- Review detected tracks and demuxer information.
- Look for decoder, video-output, audio-output, or external-tool failures.
- Compare the result with
--no-config.
Success means the log identifies the first stage that differs between a working and failing run. Stop expanding logging after that stage is known.
5. Run a Clean Temporary Test Before Changing Multiple Options
Use a short test matrix that changes one variable at a time:
- Play a known-good local file with
mpv.com --no-config. - Play the same file with
mpv.exe --no-config. - Repeat through the original shortcut, association, or script.
- Enable the normal configuration without adding command-line options.
- Add only the affected subtitle, audio, video, hwdec, HDR, shader, URL, or screenshot setting.
- Save a log from the first failing variation.
If both executables pass the same clean test, there is no mpv com vs mpv exe Windows fix required at the decoder level. The failing layer is the launch context or configuration. If both fail identically, investigate the media, permissions, driver, device, external program, or network.
6. Quick Fix Checklist
- Use
mpv.comin a terminal when you need visible diagnostics. - Use
mpv.exefor normal GUI shortcuts and file associations. - Specify the extension to eliminate shell-resolution ambiguity.
- Run
where.exe mpvto detect duplicate installations. - Test one known-good local file with
--no-config. - Quote every path or URL containing spaces or shell-sensitive characters.
- Use
--log-filewhen GUI launching hides output. - Disable hardware decoding temporarily when diagnosing black or corrupted video.
- Check selected tracks before changing subtitle or audio options.
- Verify yt-dlp's path when only webpage URLs fail.
- Test a writable directory when screenshots fail.
- Stop changing settings as soon as one isolated correction restores playback.
7. Frequently Asked Questions
7.1 Is mpv.com a Different Media Player From mpv.exe?
No. In a normal Windows build, the practical distinction is the launcher subsystem and terminal attachment, not a separate playback engine. They should use the same mpv functionality when given the same arguments and environment.
7.2 Which File Should I Use for Troubleshooting?
Use mpv.com from Command Prompt or PowerShell. Its console attachment makes errors, track information, script messages, and external-tool failures easier to see and capture.
7.3 Which File Should Windows File Associations Use?
Use mpv.exe for typical file associations because it provides normal GUI-style launching without an unnecessary console. If the association fails, test the identical path through mpv.com to expose the reason.
7.4 Where Does mpv Log Output Appear?
With mpv.com, regular output appears in the attached terminal. With mpv.exe, do not depend on a visible console. Supply --log-file="absolute path" to save a persistent log at that location.
7.5 Should Scripts Launch mpv.com or mpv.exe?
Launch mpv.com when the script must show, redirect, or inspect console output. Launch mpv.exe for detached, user-facing playback where a terminal is unwanted. For advanced control, mpv's JSON IPC offers a structured interface and is preferable to scraping human-readable console text.
7.6 Why Does mpv.com Work While mpv.exe Appears to Do Nothing?
The most common explanation is that both encounter the same startup error, but only mpv.com leaves the message visible. Use the reported error or a --log-file test to identify a bad path, config line, permission, script, driver, URL, or external dependency. Once the same corrected command works through mpv.exe, the issue is resolved.