Skip to content

Duplicate subtitles when seeking HLS/m3u8 URLs #17338

@pha1n0q

Description

@pha1n0q

mpv Information

mpv v0.41.0 Copyright © 2000-2025 mpv/MPlayer/mplayer2 projects
 built on Dec 28 2025 10:15:23
libplacebo version: v7.351.0
FFmpeg version: n8.0.1
FFmpeg library versions:
   libavcodec      62.11.100
   libavdevice     62.1.100
   libavfilter     11.4.100
   libavformat     62.3.100
   libavutil       60.8.100
   libswresample   6.1.100
   libswscale      9.1.100

Other Information

- Linux version: CachyOS Linux
- Kernel Version: Linux cactus 6.18.7-2-cachyos #1 SMP PREEMPT_DYNAMIC Sun, 25 Jan 2026 01:36:38 +0000 x86_64 GNU/Linux
- GPU Model: 0000:00:02.0 VGA compatible controller [0300]: Intel Corporation Tiger Lake-LP GT2 [UHD Graphics G4] [8086:9a78] (rev 01)
- Mesa/GPU Driver Version: OpenGL version string: 4.6 (Compatibility Profile) Mesa 25.3.4-arch1.2
- Window Manager and Version: KDE Plasma 6.5.5
- Source of mpv: CachyOS Repo (cachyos-extra-v4)
- Latest known working version: 
- Issue started after the following happened:

Reproduction Steps

  1. Use yt-dlp to obtain a m3u8 URL on a YouTube video that has subtitles, e.g.:
    yt-dlp --extractor-args "youtube:player-client=web_safari" --print manifest_url "https://www.youtube.com/watch?v=07EzMbVH3QE"
    Note: Requires a JavaScript runtime and the latest yt-dlp nightly in order not get 403 Forbiddened
  2. Use mpv to playback the m3u8 URL:
    mpv "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1769499473/ei/8BZ4aav1GaXjy_sP5ubR0Ag/ip/104.28.213.30/id/d3b13331b547dd01/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr4---sn-c0q7lns7.googlevideo.com/met/1769477872%2C/mh/vW/mm/31%2C26/mn/sn-c0q7lns7%2Csn-hpa7znzy/ms/au%2Conr/mv/m/mvi/4/pl/24/rms/au%2Cau/tx/51539830/txs/51539830%2C51539831/hfr/1/tts_caps/1/maudio/1/initcwndbps/2217500/bui/AW-iu_pHHMLPQX6UAuQ9iMWJOqHm3TJODUhlKy8RBOMh1iKS3M_O2lNYg8iUE84ErtCUkVwGf9ShwbSX/spc/q5xjPGK_c07kJCrdl7iupcqkHXIK2VSW99t4dpZ3b_WdL2lSc324mZgFhXK3lWUApr88JGmVwGMXHZ_lAWQUtXY78_k/vprv/1/go/1/ns/9OqxPu5HcuuQUQujEQdQ3OES/rqh/5/mt/1769477338/fvip/3/nvgoi/1/ncsapi/1/keepalive/yes/fexp/51355912%2C51552689%2C51565115%2C51565681%2C51580968/dover/11/n/evqMgctNisZr5w/itag/0/playlist_type/CLEAN/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Ctx%2Ctxs%2Chfr%2Ctts_caps%2Cmaudio%2Cbui%2Cspc%2Cvprv%2Cgo%2Cns%2Crqh%2Citag%2Cplaylist_type/sig/AJEij0EwRQIhAOx-K6KXOol7eEgg7IrfOLaG2UEr7PesQUYsteiU4fNLAiBGfL6TEin8N13DlKOIvlSGKNAsLTsNUeA0DCTj89OD4w%3D%3D/lsparams/playback_host%2Cmet%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Crms%2Cinitcwndbps/lsig/APaTxxMwRAIgZwim2qv4cxQy6yDMfQIgD0BPCBADrn27n3hhR_gB6O8CIHtCedZTVZlcQ76h1qsZTsy0C4TJ-OXLJCzlYJBrSTTh/pot/MtgE36nu7BxWG7Hf7WEp7wUd5yQmrtiRszhASNI-IdkJhLTLl2bfvGnqGaNWPamovne0EmKjwjQa-easpEze4MDNJeE2csYxJ5mL8Rs0A6qraDhMtfHZWn5oy72hqX8-TnnCi7feRRTBthl97Z-sOiuiYjvqRcZESzdVLcDHG7Lodj4PvoXU4_iWLFydPf181OrqS2EY4Vi5Dx9J8gj-PHXvJtFp_hBz3nufXB47486Bxgi1JnuULokwxPE9XFIy_hhPgDZvrTINwr4rEaH8YRXspfy3G7IS96cfVlniOXG88MGuKifvV9JJTLKbSnW88ldvcGy6RtmFUVI2obN3xY4KrGmrq63uwSB1g_y0GsVzFZeuVTjlM-Eh5e4cz_3s4dwfvVseQ3tBcm7RYLEQ2sWbY0UPWBl194KQ0ApdRisXHEWNJPxHmDtcHlut9l2BRkDSRteqROzBITeMjNyb7WAh3V-A5A8RK8lxovVySKMaBarFJ9wGJuz0o0Op9A8eyaA8Jo4ErBrRgLIUU8iXO-IsGvmAf4RZqFeWDqS_t-5B5OxvrNOmMZnZk_ReQLzq3-lfjiw5b_RQNFkfHz13vHM9ErpVD2h1NzSn4iF6goCHLh70qy-QDv1VpNCbO8W6cqWnUpZrvL_hCBQMHEAFvDUWJ7v2wRpuZb2D2Rx2Kk8y6FwNLOaqDuqqjxCRuSdP6AtijOO9fCI9n6TCjCRy6CIYf0oRb47hwoZsda-I6Qg9lR-AsGGn0KZdQmFiSgJGtsCy5OmNLhgvL_RweCJ_xJ9Z9tNavoeOr7CI/file/index.m3u8"
  3. Enable any subtitle track and seek though the video.

Expected Behavior

The subtitles should not be duplicated.

Actual Behavior

The subtitles are duplicated.

Demo: https://files.catbox.moe/ydfun6.webm

Log File

output.txt

Sample Files

Here's a sample URL, but this URL will expire in ~6hrs by YouTube from the time this gets posted

https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1769500814/ei/Lhx4aZ-NE7Hfj-8Pjd_ayAY/ip/2a09%3Abac1%3A7680%3A1390%3A%3A41a%3A18/id/d3b13331b547dd01/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr1---sn-vgqskne6.googlevideo.com/met/1769479214%2C/mh/vW/mm/18%2C29/mn/sn-vgqskne6%2Csn-vgqskn6y/ms/aub%2Crdu/mv/m/mvi/1/pl/49/rms/aub%2Caub/tx/51539831/txs/51539830%2C51539831/hfr/1/tts_caps/1/maudio/1/initcwndbps/3087500/bui/AW-iu_pQAa2jARa54L3pkXE1fRV5DeDUGeafvPKVXi5fcTNMzcVe8TAdvCDnyyGfS4ue6qVeeKp2Q9kq/spc/q5xjPLxur_1M0yLH_TStstP5BKeUG-PPA6lICsnKSiwnilu4cMWtrp2dbrDDYihNcVTu_uwKFiEJBiTjw27KgH6SmlM/vprv/1/go/1/ns/gH8srlOm-HXuyrOXa134olAS/rqh/5/mt/1769479001/fvip/1/nvgoi/1/ncsapi/1/keepalive/yes/fexp/51355912%2C51552689%2C51565116%2C51565682%2C51580968/dover/11/n/zz4cZOB5d3oNhg/itag/0/playlist_type/CLEAN/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Ctx%2Ctxs%2Chfr%2Ctts_caps%2Cmaudio%2Cbui%2Cspc%2Cvprv%2Cgo%2Cns%2Crqh%2Citag%2Cplaylist_type/sig/AJEij0EwRQIhAORuJ7Iq3anGwRABV1XzuJx6x65hY6fEXc1GQz703I9DAiANtB9kgnQyBP8QdF_-xHHpY7ydsaswwraKViYt07MzfQ%3D%3D/lsparams/playback_host%2Cmet%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Crms%2Cinitcwndbps/lsig/APaTxxMwRQIhAM-SbFWmWoPcvShQKGP4MZqARR7E71M1r-ZprHFv6VibAiB1lYrCP5jRIQU9YVoNpUX0_f5s6QQMoAMKmhpgT7x-bw%3D%3D/file/index.m3u8

I carefully read all instruction and confirm that I did the following:

  • I tested with the latest mpv version to validate that the issue is not already fixed.
  • I provided all required information including system and mpv version.
  • I produced the log file with the exact same set of files, parameters, and conditions used in "Reproduction Steps", with the addition of --log-file=output.txt.
  • I produced the log file while the behaviors described in "Actual Behavior" were actively observed.
  • I attached the full, untruncated log file.
  • I attached the backtrace in the case of a crash.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions