- Test mpv with --no-config to isolate configuration and script overrides.
- Correct aid, sid, vid, language preferences, and disabled selection settings.
- Use track lists and logs to separate selection failures from output problems.
- Confirm the Symptom With a Minimal Clean mpv Command
- Check Track Auto-Selection Options and Overrides
- Inspect Config Files, Profiles, Bindings, and Launchers
- Separate Selection Problems From Playback and Output Problems
- Troubleshoot Online URLs, Streams, and yt-dlp
- Use Logs and Runtime Information to Find the Override
- Run a Clean Temporary Test Before Making Permanent Changes
- Quick Fix Checklist
- Frequently Asked Questions
When mpv tracks are not auto selected, the player may start with the wrong audio language, no subtitles, an unexpected subtitle track, or even the wrong video stream. The most common causes are explicit aid, sid, or vid settings, disabled automatic selection, language preferences that do not match the file's metadata, profiles or scripts that override normal behavior, and incomplete track metadata in the source. Online media introduces additional variables, including yt-dlp format selection, network manifests, and server-side track availability. The safest approach is to reproduce the symptom without your configuration, inspect the tracks mpv actually sees, and restore settings one layer at a time.

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
Before editing configuration files, determine whether mpv itself makes the wrong selection or whether a customization changes the selection. Open a terminal or command prompt and run mpv with configuration loading disabled.
On Linux or macOS, use:
mpv --no-config "/path/to/example.mkv"
On Windows, run the command from the directory containing mpv or provide the full executable path:
mpv.exe --no-config "C:\Media\example.mkv"
Keep the path in quotes when it contains spaces, brackets, ampersands, or other characters interpreted by the shell. The --no-config option prevents mpv from loading the normal configuration and user scripts, giving you a clean baseline.
1.1 Interpret the clean test
If the expected audio, subtitle, and video tracks are selected during this test, mpv's core selection logic is working. Stop changing operating system, driver, and codec settings. The cause is almost certainly in your configuration, a profile, a script, or an option supplied by the launcher.
If the clean test still selects the wrong track, inspect the available tracks and their metadata. A file may label Japanese audio as English, omit default flags, mark the wrong subtitle as forced, or expose tracks in an unexpected order. mpv cannot infer metadata that the file or stream does not provide.
Success means the file starts with the intended video and audio, while subtitles follow your desired language and forced-subtitle policy. Once that happens consistently, stop adding options.
1.2 Compare one local file and one known-good file
Test at least two local files. If only one file fails, the issue probably belongs to that file's track metadata or structure. If every file fails in the same way, investigate global selection options. Do not use a complex online playlist as your first baseline because network extraction and format selection can hide the underlying cause.
2. Check Track Auto-Selection Options and Overrides
mpv normally chooses tracks using available metadata, user language preferences, default and forced flags, and explicit track-selection options. A single persistent override can prevent the expected automatic behavior.
2.1 Understand aid, sid, and vid
The three central options are:
aidselects an audio tracksidselects a subtitle trackvidselects a video track
Each can accept a track ID, auto, or no. A numeric ID explicitly selects a track when that ID is available. The value auto allows automatic selection. The value no disables that media type.
Search your mpv.conf, command-line arguments, shortcuts, launch scripts, and profiles for settings such as:
aid=2sid=novid=1
For a broad automatic-selection test, temporarily use:
mpv --no-config --aid=auto --sid=auto --vid=auto "example.mkv"
If this works, remove or correct the explicit override rather than stacking more options on top of it. Be aware that track IDs are local to each file or stream. An ID that works for one file is not a reliable global preference.
2.2 Verify that automatic track selection is enabled
Check for track-auto-selection=no in configuration files or profiles. This setting prevents mpv's normal automatic track-selection pass. Unless you deliberately manage every track through scripts or explicit IDs, use:
track-auto-selection=yes
Test after changing only this option. Success means tracks are selected at startup without manually cycling them.
2.3 Set audio and subtitle language preferences
Use alang to define preferred audio languages and slang for subtitle languages. Preferences are evaluated from left to right. For example:
alang=eng,en,jpn,jaslang=eng,en
Language metadata is not perfectly consistent. Some files use three-letter codes such as eng, while others use two-letter codes such as en. Including both forms can improve matching. Do not add every language indiscriminately because that makes your real preference less clear.
Language preferences do not repair incorrect file tags. If the desired track is marked und, meaning undefined, mpv may rely on default flags or fallback ordering instead.
2.4 Account for default and forced flags
Containers can mark tracks as default or forced. A default audio track is generally the author's preferred starting track. A forced subtitle track commonly contains only essential translations, although real-world files do not always use the flag correctly.
Inspect whether the selected and desired tracks carry default or forced indicators. If the wrong track has the default flag, mpv may be behaving correctly according to the metadata. In that case, use language preferences, correct the file metadata with a trusted container tool, or apply a file-specific profile. Avoid forcing a numeric track ID globally.
Subtitle behavior also depends on whether the selected audio language matches the subtitle language and how your subtitle-selection options treat forced tracks. If you have configured options governing subtitles with matching audio, test without those options first. Restore them only after confirming their exact effect with your media collection.
2.5 Find disabled tracks and startup commands
Look for sid=no, aid=no, vid=no, or commands that set the corresponding properties after playback begins. An input binding, Lua script, JavaScript script, or IPC client can override the initial choice moments after mpv selects a track.
Temporarily move individual scripts out of the active scripts directory or launch with --no-config. Do not delete your entire configuration folder. Disable one component at a time and retain a backup of every edited file.
3. Inspect Config Files, Profiles, Bindings, and Launchers
A frequent mpv troubleshooting mistake is editing the correct option in the wrong configuration file. Confirm which user configuration directory your mpv build uses. Also check whether a portable configuration directory exists beside the executable, particularly on Windows.
3.1 Search every active configuration layer
Review these sources:
- The main
mpv.conffile - Profiles declared inside
mpv.conf - File-specific and protocol-specific profiles
input.confbindings- User scripts and their script-specific options
- Desktop shortcuts and shell aliases
- Frontend, media-library, or file-manager launch arguments
- IPC clients that change properties after startup
A profile can activate only for certain extensions, protocols, resolutions, or other conditions. That explains why local MKV files may fail while MP4 files work, or why online URLs behave differently from local media.
Use --show-profile=<name> to display the contents of a named profile. Also inspect conditional profile rules and the terminal output showing which profiles are applied. Success means you can identify the final value of each relevant option and explain where it came from.
3.2 Check input bindings without confusing manual selection with startup selection
Bindings that cycle audio or subtitle tracks are useful for testing, but they do not fix automatic startup selection. A binding may also run automatically through a script or conflict with another command.
If manually cycling reaches the desired track, mpv can decode and present that track. The remaining problem is selection policy or metadata. If selecting the track causes an immediate playback error, investigate decoding, output, or source limitations instead.
4. Separate Selection Problems From Playback and Output Problems
A track can be selected correctly but fail to produce visible video, audible sound, or readable subtitles. That is not strictly an auto-selection failure. Confirm the selected track first, then troubleshoot its output path.
4.1 Video output, HDR, and hardware decoding
HDR video, high-bit-depth formats, unusual codecs, and high-bitrate media may expose GPU or hardware-decoder problems. Test software decoding and a normal output path without changing selection settings:
mpv --no-config --hwdec=no "example.mkv"
If software decoding displays the selected video correctly, the track was selected, but the hardware-decoding path failed. Update the GPU driver through the operating system or hardware vendor's trusted channel, then test a supported hwdec mode. Do not install random codec packs. mpv includes its normal decoding framework and generally does not need third-party codec bundles.
On Linux, differences between Wayland and X11, GPU permissions, or driver support can affect video presentation. On macOS and Windows, display configuration and HDR support can change output appearance. These factors normally do not alter the selected track ID, so verify that distinction in the track list.
4.2 Audio backend and device issues
If mpv reports the desired audio track but you hear nothing, test the default audio device and remove forced backend or device settings. Review any ao and audio-device options. A missing HDMI device, disconnected Bluetooth output, exclusive-mode conflict, or unavailable sound server can make a correctly selected track seem inactive.
Success means the selected audio track is listed and audible. Once it works with default output settings, reintroduce a custom audio device only if needed.
4.3 External subtitles and file permissions
External subtitle auto-loading depends on filenames, subtitle paths, matching rules, and read access. Confirm that mpv can read both the media file and subtitle file. Test by explicitly opening the subtitle with the relevant subtitle-file option or by dragging it into an active player window.
If explicit loading works but automatic loading does not, inspect subtitle auto-loading and fuzzy filename-matching settings. Check whether scripts alter subtitle search paths. On systems with application sandboxing or restrictive directory permissions, the player may have access to the video but not a subtitle stored elsewhere.
5. Troubleshoot Online URLs, Streams, and yt-dlp
For online media, mpv can select only the tracks exposed by the resolved URL, manifest, or external extractor. A site may provide separate video and audio formats, omit subtitles from a stream, or require current authentication that mpv does not possess.
5.1 Confirm what the stream actually provides
Start with a direct, permitted test URL when possible. Compare it with a local file. If local auto-selection works, your global aid, sid, and vid settings are probably not the primary cause.
For adaptive streams, the server manifest determines available representations and language labels. Missing or inaccurate labels can defeat language preferences. Live streams may expose only one audio track or change tracks during playback.
5.2 Verify the yt-dlp path safely
If mpv uses yt-dlp for a supported website, confirm that the executable is installed from its official project or another trusted package source and is visible in the environment used to launch mpv. A terminal may have a different PATH from a desktop shortcut.
Review custom ytdl-format or raw yt-dlp format arguments. An overly restrictive format expression can select video without the desired audio or exclude formats carrying particular characteristics. Test the URL with a clean mpv configuration before changing extractor options.
Do not attempt to bypass DRM or access restrictions. If the service does not provide an accessible media stream to the tools involved, track-selection options cannot create one.

6. Use Logs and Runtime Information to Find the Override
Terminal output is often the fastest way to distinguish selection, decoding, and output failures. Launch mpv from a terminal rather than double-clicking the file so that startup messages remain visible.
6.1 Increase useful message detail
Create a focused diagnostic run with a log file:
mpv --no-config --msg-level=all=v --log-file=mpv-track-test.log "example.mkv"
Verbose logs can contain local paths, URLs, request information, and media metadata. Review and redact them before sharing publicly. Search the log for aid, sid, vid, track, profile, audio, subtitle, and video.
Next, repeat the same command without --no-config and compare the results. The useful difference is often a profile application, script load, explicit property change, or output error.
6.2 Inspect the track list and stats overlay
Use mpv's stats overlay and track controls to inspect active media information during playback. The exact default key behavior can differ when input.conf replaces bindings, so consult the current bindings displayed by your setup or invoke the relevant command through the console or IPC.
Record the available track IDs, language tags, titles, codecs, and default or forced flags. Also record which track mpv marks as selected. This prevents a common mistake: changing auto-selection rules when the expected track was never present.
Advanced users can query the track-list property through mpv's JSON IPC interface. If an IPC automation tool is already connected, stop it during the baseline test because it may also set aid, sid, or vid.
7. Run a Clean Temporary Test Before Making Permanent Changes
Once you have a likely cause, build a temporary command that includes only the required preference. For example:
mpv --no-config --track-auto-selection=yes --aid=auto --sid=auto --vid=auto --alang=eng,en --slang=eng,en "example.mkv"
Change the language codes to match your needs and the metadata shown by the file. Test several representative items, including a local file with multiple audio tracks, a file with forced subtitles, and one online source if online playback matters to you.
7.1 Restore options in controlled groups
- Confirm track selection with
--no-config. - Add language preferences.
- Add output and hardware-decoding settings.
- Add profiles one at a time.
- Restore scripts individually.
- Reconnect IPC automation last.
After each step, restart the file from the beginning. Track selection at startup can differ from behavior after a manual reload. Stop as soon as the symptom returns. The most recently restored group contains the likely cause.
Do not change shaders, screenshot settings, HDR options, audio backends, yt-dlp arguments, and subtitle rules simultaneously. Screenshot configuration, for example, normally has no effect on startup track selection unless a script or binding tied to screenshots also changes playback properties.
8. Quick Fix Checklist
- Run the affected file with
mpv --no-config. - Confirm the expected track exists in mpv's track list.
- Remove global numeric
aid,sid, andvidvalues. - Replace disabled values such as
sid=nowhen subtitles should load. - Ensure
track-auto-selection=yes. - Set ordered
alangandslangpreferences using actual file tags. - Check default and forced flags for incorrect source metadata.
- Inspect profiles, launch arguments, scripts, bindings, and IPC clients.
- Test
hwdec=noonly when a selected video track fails to display. - Check the audio device only when the selected audio track is silent.
- Verify permissions and matching filenames for external subtitles.
- For URLs, confirm yt-dlp availability and remove restrictive format rules.
- Compare clean and configured verbose logs.
- Stop changing settings when clean startup selection works reliably.
9. Frequently Asked Questions
9.1 Why does mpv select the wrong audio language?
The file may have missing or incorrect language tags, the wrong track may carry the default flag, or your alang preference may not match the tag format. Inspect the track list, then list preferred language codes in order. Avoid relying on a numeric aid across unrelated files.
9.2 Why are subtitles disabled when sid is set to auto?
Automatic selection does not guarantee that every subtitle track will be enabled. The result depends on language preferences, forced and default flags, audio-language relationships, subtitle-selection settings, and source metadata. Confirm that the subtitle exists, then test --no-config --sid=auto and inspect its flags.
9.3 Can hardware decoding change which track mpv selects?
Hardware decoding usually affects whether a selected video track can be decoded and displayed, not which track is selected. If the correct track is active but the screen is blank or playback fails, test --hwdec=no. Keep track selection and decoding diagnosis separate.
9.4 Why does the problem occur only with online URLs?
The resolved stream may expose different tracks from the webpage, contain incomplete language metadata, or be filtered by a custom yt-dlp format rule. Confirm yt-dlp is accessible to mpv, test without custom format arguments, and inspect the tracks reported after URL resolution.
9.5 Does --no-config permanently disable my settings?
No. It disables normal configuration loading only for that mpv process. It is a safe diagnostic option and does not delete or modify your files. Remove the option on the next run to restore your normal setup.
9.6 When should I edit the media file instead of mpv.conf?
Edit container metadata only when the file itself has incorrect language, default, or forced flags and you understand the effect on that file. Use a reputable container-specific tool and keep a backup. If many correctly tagged files follow the wrong policy, fix mpv's language or selection configuration instead.