mpv Playlist Next File Not Playing: How to Fix It

  • Confirm mpv loaded multiple valid playlist entries before changing playback settings.
  • Use no-config and verbose logs to isolate options, scripts, paths, or decoding failures.
  • Check terminal output immediately after the first file ends to identify the failing stage.

When mpv finishes one playlist item but does not begin the next, the problem is usually not the playlist feature itself. Common causes include a playlist containing only one valid entry, an option such as keep-open or loop-file, an overridden key binding, a script that intercepts end-of-file events, or an error that prevents the next file or URL from opening. Online playlists add possible yt-dlp, authentication, and network failures, while demanding local media can expose hardware-decoding, HDR, GPU-output, or audio-device problems only when the next item loads.

The quickest route to a reliable mpv playlist next file not playing fix is to separate playlist advancement from media decoding. Begin with a clean command, inspect what mpv actually loaded, and then restore custom settings one category at a time. After each change, verify that the next item starts automatically. Once it does, stop changing unrelated settings.

Two media files advancing through a clean mpv playlist test.

1. Confirm the Symptom With a Minimal Clean mpv Command

Before editing configuration files, determine whether mpv can advance through a simple playlist without your normal configuration. This distinguishes a core file or command problem from a customization problem.

1.1 Test two known-good local files

Choose two short local media files that each play correctly by themselves. Avoid network shares, online URLs, HDR files, unusual subtitles, and extremely high-bitrate media for this first test.

Open a terminal or command prompt and run one of these commands, replacing the paths with real files:

  • Windows: mpv --no-config "C:\Videos\first.mp4" "C:\Videos\second.mp4"
  • Linux or macOS: mpv --no-config "/home/user/Videos/first.mp4" "/home/user/Videos/second.mp4"

The --no-config option temporarily prevents normal configuration files and user scripts from affecting the test. It does not delete or modify them.

Success means the first file reaches its natural end and the second begins without manual input. If that happens, mpv's basic playlist advancement works, so the cause is probably in your configuration, scripts, profiles, or original playlist entries. Stop investigating operating system codecs or reinstalling mpv at this stage.

If the second known-good file still does not start, watch the terminal when the first file ends. A message saying that the second file cannot be opened points to a path, permission, or media-opening problem rather than an advancement setting.

1.2 Test a playlist file directly

If your issue occurs with an M3U or another playlist format, test the playlist explicitly:

mpv --no-config --playlist="playlist.m3u"

A basic local M3U can contain one path per line:

#EXTM3U
first.mp4
second.mp4

Relative paths are normally interpreted in relation to the playlist's location, but shell invocation, playlist format, and path syntax can complicate that assumption. For diagnosis, use absolute paths temporarily. Save the file as plain text and make sure file extensions are accurate.

Inspect the playlist for blank paths, accidental quotation marks, unsupported URL schemes, malformed comments, invisible characters, and Windows paths copied into a playlist used on Linux or macOS. Quotes that help a shell parse a command are not always appropriate as literal characters inside a playlist file.

Success means mpv recognizes more than one playlist entry and automatically opens the second valid entry. If the clean two-file command works but the playlist-file test fails, focus on the playlist contents rather than mpv's playback settings.

1.3 Confirm that more than one item was loaded

A file manager may launch mpv once per selected file instead of passing all selected files to one process. In that situation, each mpv instance has a one-item playlist and cannot advance within a shared list.

Press i to open mpv's statistics overlay when available, and use the on-screen display or console to inspect playlist state. You can also add a temporary input binding that displays the current one-based position and total count:

p show-text "Playlist: ${playlist-pos-1}/${playlist-count}"

Place that line in a temporary input.conf, or invoke the equivalent command through mpv's input or IPC interface. If the display shows 1/1, the issue is not failed advancement. mpv received only one item.

2. Check Options, Bindings, Profiles, and Scripts That Affect Advancement

If a clean test works, reintroduce your normal setup carefully. Several mpv options can make correct behavior look like a broken playlist.

2.1 Remove keep-open and loop-file conflicts

Check mpv.conf, command-line aliases, launch scripts, desktop shortcuts, and active profiles for these settings:

  • keep-open=yes keeps the player open after the final playlist item.
  • keep-open=always can keep playback open after every file and interfere with expected automatic progression.
  • loop-file=yes repeats the current file instead of reaching the next playlist item.
  • loop-file=inf also prevents the current item from ending normally.
  • start, end, or automated seeking settings can make an item end immediately or appear stuck.

Temporarily override the most relevant options:

mpv --no-keep-open --loop-file=no --playlist="playlist.m3u"

If the next item now starts, remove or narrow the conflicting option in your permanent configuration. Do not change video output, audio output, or hardware decoding when this option-only test already identifies the cause.

2.2 Do not confuse idle mode with playlist progression

The idle option controls whether mpv remains running when no file is loaded. It is useful for IPC-controlled instances and front ends that load files later. It does not generate another playlist entry and does not make a one-item playlist advance.

With idle=yes, the window or process may remain present after playback finishes. That can look like mpv stopped between items when the playlist is actually exhausted or the next item failed to load. Check the playlist count and terminal output before changing idle mode.

Success means the status or playlist position progresses from item one to item two. A window that remains open after the final item is normal when idle or keep-open behavior was intentionally requested.

2.3 Verify ENTER and greater-than key behavior

mpv's default bindings include commands for playlist navigation. ENTER and the greater-than key, normally produced with Shift plus the period key on a US keyboard, may be associated with moving to the next playlist item. Exact behavior can be changed by input.conf, scripts, front ends, keyboard layouts, and version-specific defaults.

If pressing the greater-than key does nothing, first confirm that your keyboard layout sends the expected key. Then inspect every active input.conf for bindings containing playlist-next. A safe explicit diagnostic binding is:

ENTER playlist-next force

You can also assign a separate test key:

F8 playlist-next force

The force form requests a forced transition according to mpv's playlist command semantics, but it cannot create a missing item or repair an invalid path. If F8 reaches the next file while automatic end-of-file advancement does not, investigate looping, keep-open behavior, scripts, and end-of-file handling. If neither key works and the playlist count is one, repair how the playlist is loaded.

2.4 Inspect profiles and conditional settings

An mpv profile can activate settings only for certain files or protocols. That explains why local SDR files may advance correctly while HDR files, online URLs, or a specific directory do not.

Search your configuration for profile headers such as [profile-name] and auto profiles such as [extension.webm] or conditional profiles using profile-cond. Pay particular attention to profiles that set looping, keep-open behavior, scripts, output drivers, audio devices, or hardware decoding.

Use --show-profile=PROFILE_NAME to inspect a named profile's contents. Also review the terminal output at startup to see which configuration and profiles are being applied. Test without the suspected profile before editing it permanently.

Success means the playlist advances when the profile is disabled or corrected. At that point, stop modifying global settings and fix only the option inside that profile.

2.5 Temporarily disable scripts and IPC automation

Lua and JavaScript scripts can react to file-loaded, end-file, shutdown, playlist, and property-change events. A script may remove entries, replace the playlist, issue a stop command, or pause while waiting for another process. IPC clients can do the same.

Run the playlist with --no-config. If you need the rest of your configuration, temporarily prevent script autoloading with the appropriate script-loading options for your setup, or move only the suspected script out of its scripts directory. Do not delete the entire configuration folder.

For IPC-controlled playback, disconnect the controlling application and launch mpv directly. If direct playback advances, inspect the client's commands around the end-file event. The client should distinguish a normal end from an error and should not clear the playlist prematurely.

2.6 Test subtitle, track, and screenshot customizations

Subtitle settings do not normally control playlist advancement, but scripts that search for external subtitles or automatically select tracks can delay or fail during the next file's load. The same is true for screenshot scripts that run at end-of-file or try to write into an unavailable directory.

Temporarily test with subtitle auto-loading disabled and automatic track selection relaxed. Also disable custom screenshot scripts or verify that the screenshot directory exists and is writable. If the next file has no requested audio or subtitle language, mpv should normally continue with available tracks, but scripts may impose stricter behavior.

Use the track list shown in the terminal or statistics overlay to confirm that the next file contains playable video or audio. Success means the second item reaches the file-loaded stage and displays or plays an available track.

Playback pipeline showing file, network, decoder, video, and audio failure points.

3. Check File, Decoder, Output, Tool, and Network Failures

Sometimes mpv advances correctly but immediately fails to open the next item. To the viewer, this looks identical to stopping. The terminal usually reveals the difference.

3.1 Verify paths, quoting, and permissions

Test the next item by itself using --no-config. If it cannot play independently, playlist settings are not the immediate cause.

  • Confirm that the file exists at the exact path stored in the playlist.
  • Check capitalization on case-sensitive file systems.
  • Quote paths containing spaces when they are passed through a shell.
  • Do not add unnecessary literal quotes inside an M3U entry.
  • Verify read permission for the file and execute or traversal permission for parent directories.
  • Confirm that removable drives and network mounts are connected before playback reaches the item.
  • Avoid paths that belong to another operating system when playlists are shared across machines.

Success means the second item plays alone and from the playlist. Once both tests work, no broader permission change is needed.

3.2 Isolate GPU, HDR, and hardware-decoding failures

A second item may require a different codec, bit depth, chroma format, HDR pipeline, or video-output capability. If the first item is ordinary H.264 SDR video and the next is high-bitrate HEVC HDR, failure during initialization can resemble a playlist stop.

Test the failing item with software decoding:

mpv --no-config --hwdec=no "second-file.mkv"

If that works, repeat the playlist with --hwdec=no. Also remove custom shaders and complex GPU options for the test. On Linux, compare behavior under the display server and video output you normally use only after the clean test establishes that the problem is output-related. On all operating systems, use a supported GPU driver from the operating system, hardware vendor, or trusted distribution repository.

Success means the next video produces a picture and continues playing under the simplified decoding path. You can then restore hardware decoding and GPU features individually. Stop as soon as one restored option reproduces the failure.

3.3 Check audio-device changes between items

The next file may use a different sample rate, channel layout, codec, passthrough format, or selected audio device. A forced audio output or unavailable device can fail when the new item initializes.

Test with default audio selection and without passthrough-specific settings. If appropriate for diagnosis, run the playlist with audio disabled:

mpv --no-config --no-audio "first-file.mkv" "second-file.mkv"

If video advances with audio disabled, inspect the selected audio backend, exclusive-mode settings, passthrough options, and device identifier. This test does not prove that the audio track is corrupt, only that audio initialization is involved.

3.4 Validate online URLs and yt-dlp

For online media, mpv may rely on yt-dlp to resolve a page URL into playable streams. Each playlist URL is resolved separately, so the first can work while the next is private, removed, region-restricted, authentication-dependent, or incompatible with the installed external tool.

Run the failing URL alone and inspect the terminal. Confirm that mpv can find the intended yt-dlp executable through its normal search path or configured path. Obtain yt-dlp only from its official project or a trusted operating system package source. Do not use random binary download sites.

If the playlist contains direct stream URLs, remember that signed or temporary URLs can expire before mpv reaches them. Headers, cookies, referrers, or authentication may also differ by item. Test access through a network environment where you are authorized to view the content.

Success means the failing URL resolves and begins playing independently, then does the same as the next playlist item. If it fails alone, fix the URL, access, or external-tool problem rather than playlist navigation.

3.5 Recognize damaged or unsupported media

A truncated file, broken container index, malformed stream, or unsupported codec can fail immediately. Compare the terminal messages from a working item and the failing item. Test the file with a trusted media-inspection tool from an official source if necessary.

Do not install broad codec packs from untrusted websites. mpv commonly uses its own multimedia libraries, so a random system codec pack is unlikely to be the correct solution and can introduce security or stability risks.

4. Use mpv Logs to Identify What Happens After the First File Ends

The most important diagnostic moment is the transition immediately after the first file ends. Keep the terminal visible and note whether mpv reports a normal end, selects another playlist entry, attempts to open it, or encounters an error.

4.1 Increase message detail

Run a focused test with more verbose logging:

mpv --no-config --msg-level=all=v "first-file.mkv" "second-file.mkv"

For a persistent log that is easier to review:

mpv --no-config --log-file=mpv-playlist-test.log --msg-level=all=v "first-file.mkv" "second-file.mkv"

Verbose logs can contain local paths, URLs, headers, or other environment details. Remove sensitive information before sharing a log publicly.

Look for the following sequence:

  1. The first file ends.
  2. mpv identifies or moves to the next playlist entry.
  3. The next path or URL is opened.
  4. Tracks are detected.
  5. audio and video outputs initialize.
  6. Playback begins, or a specific error appears.

If step two never occurs, focus on playlist state, looping, keep-open, scripts, or an IPC controller. If step two occurs but step three fails, focus on the path, URL, permissions, or yt-dlp. If tracks are detected but output initialization fails, focus on decoding, GPU, HDR, display, or audio settings.

4.2 Use the stats overlay and track list

The statistics overlay can help determine whether mpv loaded the second item but cannot render it smoothly. Press i while playback is active, subject to your current bindings. Review decoder, dropped-frame, synchronization, and track information.

For high-bitrate network media, a long buffering delay may look like a stopped playlist. The log may show that the second item opened but is waiting for data. In that case, test the same URL or network file independently and check throughput, server availability, and cache behavior.

4.3 Interpret end-of-file reasons carefully

A normal end indicates that the current item completed. An error reason indicates that playback stopped because something failed. User-issued stop or quit commands can implicate a binding, script, front end, or IPC client. Record the exact reason rather than assuming every transition is a normal end.

Once the log identifies a single failing stage, change only the option or dependency associated with that stage. Broad configuration rewrites make the evidence harder to interpret.

5. Run a Clean Temporary Test Before Permanent Changes

A controlled comparison is safer than deleting configuration directories or reinstalling software. Use the same two files for every run and alter one category at a time.

5.1 Follow a repeatable isolation sequence

  1. Play both files separately with --no-config.
  2. Play them together as command-line arguments with --no-config.
  3. Play them through the original playlist file with --no-config.
  4. Run with your normal configuration but without optional scripts.
  5. Restore scripts one at a time.
  6. Restore the relevant profile, hardware decoding, shaders, HDR options, audio options, and online tools one category at a time.

After each step, let the first item finish naturally. Manual navigation alone does not prove that automatic end-of-file advancement is fixed.

5.2 Know what a successful fix looks like

The fix is confirmed when the playlist count is greater than one, the first item reaches a normal end, mpv selects the next entry, and the next item initializes without an error. For video, you should see frames from the second item. For audio-only media, you should hear playback and see the playlist position change. For an online URL, the log should show successful resolution and stream opening.

When this sequence works with your normal configuration, stop troubleshooting. Do not update unrelated drivers, replace output backends, or rewrite working profiles merely because they appeared on a general checklist.

6. Quick Fix Checklist

  • Run two known-good local files with --no-config.
  • Confirm the playlist position reports more than one item.
  • Inspect the M3U for invalid paths, literal quotes, and inaccessible URLs.
  • Disable keep-open=always and loop-file for the test.
  • Remember that idle=yes keeps mpv alive but does not add a next item.
  • Test an explicit playlist-next force binding if ENTER or greater-than does nothing.
  • Inspect active profiles for conditional looping, output, or decoder settings.
  • Temporarily disable scripts and disconnect IPC controllers.
  • Watch terminal output immediately after the first item ends.
  • Play the failing second item alone with --no-config.
  • Use --hwdec=no if the next item changes codec, bit depth, or HDR format.
  • Use --no-audio briefly to isolate audio-device initialization.
  • Test online URLs individually and verify the trusted yt-dlp executable path.
  • Write a temporary verbose log and identify the first failing stage.
  • Stop changing settings as soon as automatic advancement works.

7. Frequently Asked Questions

7.1 Why does mpv show 1/1 when I selected several files?

Your file manager, launcher, or shell may have started separate mpv processes instead of passing every path to one process. Launch the files together from a terminal or create an M3U playlist. If mpv then reports a count greater than one, advancement should be possible.

7.2 Why does mpv stay open after the first file finishes?

Check the playlist count first. If there is only one item, there is nothing to advance to. If idle=yes is active, mpv may remain running with no file loaded. If keep-open is active, it may retain the final frame. These behaviors are different from successful progression to another item.

7.3 Why do ENTER and the greater-than key not play the next item?

Your input.conf, a script, a front end, or the keyboard layout may override the expected key. Bind a temporary key to playlist-next force and confirm that the playlist contains another entry. A navigation command cannot advance beyond a missing or invalid item.

7.4 Why does mpv skip or stop on the second playlist file?

The second item may fail to open because of an invalid path, missing permission, unsupported media, expired stream URL, yt-dlp error, GPU-output failure, or audio-device problem. Play that item alone with --no-config and inspect the terminal. If it fails alone, repair that media-opening problem first.

7.5 Can subtitles or screenshots stop playlist advancement?

Built-in subtitle and screenshot features are not normally responsible for progression, but scripts that search for subtitles, select tracks, or capture images at end-of-file can block or issue playback commands. Test without scripts and verify that configured subtitle and screenshot directories are accessible.

7.6 Should I delete my entire mpv configuration?

No. Use --no-config for a temporary clean test. If that resolves the mpv player issue, isolate profiles, bindings, scripts, and option groups one at a time. This preserves working customizations and identifies the actual cause more reliably.


Citations

  1. Official mpv manual covering playlist commands, options, profiles, logging, input bindings, and properties. (mpv Manual)
  2. Official yt-dlp project documentation covering installation, supported usage, and troubleshooting. (yt-dlp)
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.