mpv Subtitle Track Names Missing: How to Fix It

  • Test mpv without configuration to separate metadata problems from custom settings.
  • Inspect container language tags and titles before changing playback or GPU options.
  • Fix selection with F9, verified bindings, accurate metadata, or careful remuxing.

When mpv subtitle track names are missing, the player may show a bare track number, an unfamiliar language code, a generic label such as “Subtitle,” or no useful description at all. This usually does not mean subtitle decoding is broken. Track labels come primarily from metadata stored in the media container or supplied by a streaming source. mpv can display that metadata, but it cannot reliably invent a language or descriptive title when the source does not provide one.

The other common failure categories are configuration overrides, scripts that replace mpv’s normal track interface, incomplete metadata in external subtitle files, shell quoting mistakes, and inconsistent stream manifests. The safest troubleshooting method is to inspect the source with a clean mpv session before changing profiles, hardware decoding, shaders, or operating system components.

Video player and terminal used to diagnose missing subtitle track names.

1. Confirm the Symptom With a Minimal Clean mpv Command

Begin with a local file that demonstrates the problem. A Matroska file with multiple embedded subtitles is ideal because MKV containers can store both language tags and human-readable track titles. Close other mpv instances, open a terminal, and run a temporary test that ignores your normal configuration.

1.1 Start mpv without configuration files

On Windows PowerShell or Command Prompt, run:

mpv --no-config "C:\Media\example.mkv"

On Linux or macOS, run:

mpv --no-config "/path/to/example.mkv"

Press F9 after playback starts. In mpv’s default input configuration, F9 displays the available audio and subtitle tracks. Examine whether each subtitle entry has a language, title, or only a numeric identifier.

Success means the expected labels appear during this clean test. If they do, stop investigating the media file. The metadata is present, and your normal configuration, input bindings, or scripts are changing how the tracks are presented.

If the clean test still shows generic or missing labels, the file or stream probably lacks useful metadata. Continue by separating the language tag from the track title.

1.2 Understand what mpv can display

A subtitle track can contain several distinct pieces of information:

  • A numeric track ID used for selection inside mpv
  • A language tag such as eng, jpn, or spa
  • A title such as “English Signs and Songs” or “Director Commentary”
  • Default, forced, hearing-impaired, or similar disposition flags
  • A codec or format such as ASS, SubRip, PGS, or WebVTT

A language tag is not the same thing as a track title. A correctly tagged track may display “eng” without having a descriptive title. Conversely, a track titled “English” may have no formal language tag. This distinction matters because mpv’s automatic language selection uses language metadata, not guesses based on dialogue or filename wording.

2. Check the Settings Directly Related to Track Metadata

2.1 Inspect subtitle language preferences

The slang option defines preferred subtitle languages. For example, a user might place the following line in mpv.conf:

slang=eng,en,jpn,ja

This option influences automatic selection. It does not add names to tracks. If a subtitle has no language tag, adding slang=eng cannot prove that the subtitle is English.

Test the file without an automatic preference:

mpv --no-config --slang= "example.mkv"

If track labels remain missing but manual selection works, mpv is functioning correctly and the source metadata is incomplete. Use manual selection or correct the container metadata instead of repeatedly changing slang.

The same principle applies to alang for audio tracks. Audio language preferences do not repair missing audio titles or language tags.

2.2 Check track-selection options and profiles

Review mpv.conf and any profiles for options involving sid, slang, sub-auto, sub-file, aid, alang, or track selection. An explicit sid can force one subtitle track, while sid=no disables subtitle selection. These options may make the interface seem confusing even though they do not erase metadata.

Profiles can activate according to protocol, filename, resolution, or another condition. Search the configuration for bracketed sections such as [stream], [hdr], or [high-quality]. Then test a suspected profile explicitly:

mpv --show-profile=stream

This displays the options defined by that profile. The exact profile name must match your configuration. If disabling or correcting one track-related option restores normal selection, stop there. Unrelated HDR, scaling, or video-output options do not need to be changed.

2.3 Check input bindings and scripts

A custom input.conf can replace F9. Scripts can also create their own track menus and display only an ID, codec, or abbreviated language value. Search input.conf for F9, cycle sub, set sid, script-binding, and menu-related commands.

With default bindings, F9 shows the track list, j cycles subtitle tracks, and # cycles audio tracks. Keyboard layouts, terminal interception, front ends, and custom bindings can alter those keys. You can define clear alternatives in input.conf:

CTRL+s cycle sub
CTRL+a cycle audio

Choose keys that do not conflict with existing actions. Success means the on-screen display reports a changing subtitle or audio track and playback uses the selected stream. If selection works but the label remains generic, the problem is metadata display rather than input handling.

For script testing, move or disable one suspected script temporarily rather than deleting the entire configuration directory. Start with track-menu, user-interface, playlist, and metadata scripts. Scripts for shaders or screenshot naming are unlikely causes unless they also replace the on-screen display.

2.4 Separate metadata problems from rendering problems

Hardware decoding, HDR tone mapping, shaders, GPU drivers, video output, display servers, and audio backends can affect playback. They normally do not determine whether an embedded subtitle track has a title. If subtitles render incorrectly, disappear after seeking, or cause visual corruption, those components become relevant. If F9 merely shows “Subtitle 1” instead of “English,” changing hwdec, vo, HDR settings, or the GPU driver is unlikely to help.

Likewise, screenshot settings do not rename tracks. Only investigate them if a script derives screenshot filenames from track metadata and fails because a title is absent.

Embedded, external, and streamed subtitle tracks feeding metadata into a media player.

3. Check the Media File, External Subtitle, or Stream

3.1 Verify container track metadata

Embedded subtitle names belong to the container’s track metadata. A subtitle codec carries text or images, but the surrounding container commonly stores the language and title. Two subtitle tracks can therefore contain valid subtitles while both lack useful labels.

Use a trusted inspection tool such as ffprobe from FFmpeg or the information tools included with MKVToolNix. A typical command is:

ffprobe -v error -select_streams s -show_entries stream=index,codec_name:stream_tags=language,title -of default=noprint_wrappers=1 "example.mkv"

Look for TAG:language and TAG:title. If both are absent, mpv has nothing meaningful to show beyond the stream ID and codec. If they are present in the inspection output but absent in a clean mpv session, capture an mpv log and check whether the demuxer recognized the same tracks.

3.2 Treat external subtitle filenames carefully

External subtitle files such as movie.en.srt or movie.eng.forced.srt may be discovered according to mpv’s subtitle auto-loading rules. Filename components can help matching and presentation, but they are not equivalent to authoritative embedded language tags in every workflow.

Confirm that the subtitle path is readable and that the base filename matches the video as expected. Test it explicitly:

mpv --no-config --sub-file="/path/to/movie.en.srt" "/path/to/movie.mkv"

Success means the subtitle loads and can be selected. If its display name is still not ideal, use a clear filename or a properly tagged container rather than assuming mpv can identify the language from the subtitle text.

3.3 Account for online URLs and yt-dlp

For online playback, mpv can only expose tracks returned by the website extractor, playlist, or streaming manifest. Some HLS and DASH manifests provide language and name attributes; others provide incomplete or generic values. A missing label on one URL but not on local MKV files points to source metadata or extraction rather than a global mpv player issue.

If the URL requires yt-dlp integration, verify that mpv can find the trusted yt-dlp executable and that the URL is supported. Do not download replacement binaries from random codec or mirror sites. Test the direct media stream separately only when you have a legitimate, non-DRM URL and permission to access it.

Network restrictions, authentication, expired URLs, or blocked manifest requests can cause entire tracks to be absent. They do not usually remove only the title from an otherwise available track. Compare the number of tracks reported by the source manifest with F9 and the terminal log.

3.4 Remux only when metadata is genuinely missing

Remuxing rewrites the container without re-encoding the audio, video, or subtitle streams. It is appropriate when you control the file, have confirmed that language or title metadata is missing or wrong, and want a durable correction.

For Matroska files, MKVToolNix can set a language and track name while copying streams. Preserve the original file until the result has been tested. Do not remux merely because F9 was replaced by a script or because a profile forced the wrong track. Remuxing cannot improve incomplete metadata supplied dynamically by an online stream.

After remuxing, open the new file with --no-config and press F9. Success means the corrected language and title appear and the desired subtitle can be selected. At that point, stop changing mpv options.

4. Use Logs and Runtime Information to Find the Difference

4.1 Create a focused mpv log

Run the affected file with a clean configuration and save terminal diagnostics:

mpv --no-config --msg-level=all=v --log-file=mpv-track-test.log "example.mkv"

Reproduce the issue, press F9, cycle the subtitle once, and exit normally. Search the log for “Track,” “sub,” “lang,” “title,” “demux,” and the filename. Logs can reveal which tracks the demuxer opened and whether an external subtitle was loaded.

A log may include local paths, URLs, media titles, and other private information. Review and redact it before sharing it publicly.

4.2 Compare normal and clean runs

Create one log with --no-config and another with your usual launch command. If labels appear only in the clean run, compare loaded scripts, profiles, and command-line arguments. Change one item at a time.

The stats overlay is useful for playback performance, decoder selection, dropped frames, and related data, but it is not the primary authority for track titles. Use F9 and the demuxer log for this symptom. Avoid chasing frame timing or GPU statistics unless subtitle rendering itself is failing.

4.3 Check paths, permissions, and shell quoting

Permissions matter when mpv cannot read an external subtitle, configuration file, script, yt-dlp executable, network-mounted file, or log destination. Confirm that the same operating-system account can open each path.

Always quote paths containing spaces, parentheses, ampersands, or shell-sensitive characters. Windows PowerShell, Command Prompt, Bash, and Zsh have different parsing rules. If a quoted explicit --sub-file test works, fix the original path or launch command rather than changing subtitle decoding options.

5. Run a Clean Temporary Test Before Broad Changes

Use this controlled sequence to isolate an mpv troubleshooting problem without damaging a working setup:

  1. Choose one local file that consistently shows missing or confusing track labels.
  2. Run it with mpv --no-config.
  3. Press F9 and record the displayed track IDs, languages, and titles.
  4. Inspect the same file with ffprobe or MKVToolNix.
  5. If metadata exists, re-enable your normal configuration without scripts.
  6. Restore scripts individually, beginning with interface and track-menu scripts.
  7. Test relevant profiles and input bindings one at a time.
  8. If metadata is absent, select tracks manually or remux a copy with corrected tags.

This process also prevents unrelated changes to hardware decoding, HDR, audio output, or video drivers. Success is not necessarily a beautifully worded label. Success means mpv displays all metadata actually present, selects the intended track, and behaves consistently. Once that happens, stop troubleshooting.

6. Quick Fix Checklist

  • Run the file with --no-config and press F9.
  • Distinguish a language code from a descriptive track title.
  • Remember that slang selects tagged languages but does not create tags.
  • Inspect embedded subtitle metadata with ffprobe or MKVToolNix.
  • Check whether F9 was replaced in input.conf.
  • Temporarily disable only suspected track-menu or interface scripts.
  • Review profiles for sid, slang, and subtitle-loading options.
  • Quote external subtitle and media paths correctly.
  • For URLs, compare mpv’s tracks with the source manifest or extractor output.
  • Use a verbose log to compare configured and clean sessions.
  • Remux only when the container metadata is genuinely missing or incorrect.
  • Do not change GPU, HDR, or audio settings for a labels-only problem.

7. Frequently Asked Questions

7.1 Why does mpv show eng instead of English?

The container may contain the language code eng but no human-readable title. mpv is displaying the available tag rather than translating or inventing a label. This is usually correct behavior.

7.2 Can slang identify subtitles with missing language tags?

No. slang expresses your preferred language order. If tracks are untagged, mpv cannot reliably determine their languages from that setting. Select the track manually or add accurate metadata to a file you control.

7.3 How can I select a subtitle when its name is missing?

Press F9 to view track IDs, then use the default subtitle-cycle binding, commonly j, or define your own binding for cycle sub. Test each track briefly and note its ID. Audio tracks can be cycled with the default # binding or a custom cycle audio binding.

7.4 Why are labels present in one file but missing in another?

Track metadata is stored per file or supplied per stream. One container may have complete language and title tags while another has none. If both files behave the same under --no-config, the difference is probably in their metadata.

7.5 Should I reinstall mpv or install a codec pack?

Not for missing track labels alone. If the subtitle track decodes and displays, the codec path is already functioning. Inspect metadata and configuration first. Avoid unsafe codec packs and untrusted binary downloads.

7.6 When is remuxing the right fix?

Remux when a local file you are authorized to modify has missing or incorrect track language and title metadata, and you want a permanent correction. Keep the original, avoid re-encoding, and verify the result with a clean mpv session.


Citations

  1. Official documentation for mpv options, track selection, properties, profiles, logging, and default key bindings. (mpv Manual)
  2. Official FFmpeg documentation covering ffprobe stream and metadata inspection. (FFprobe Documentation)
  3. Official MKVToolNix documentation for inspecting and modifying Matroska container metadata. (MKVToolNix Documentation)
  4. Official yt-dlp documentation for supported options, installation, and extractor behavior. (yt-dlp Project)
Cindy, ContentBASE creator assistant

MEET CINDY

Your ContentBASE creator assistant

Cindy helps creators find Canva templates, content ideas, and simple ways to make better social media posts faster.

Want ready-to-use templates? Claim the free Canva bundles or browse the full bundle store.