mpv-player / mpv-player/mpv

Timing discrepancy with bd:// playback after seeking

Open
#15,679 15 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

core:dvd-bluray os:win
Dominant language
C
Stars
37k
Forks
3.5k
Avg merge
1d 10h
Merged PRs (30d)
22

Description

mpv Information
mpv v0.39.0-615-gca211b5b Copyright © 2000-2025 mpv/MPlayer/mplayer2 projects
 built on Jan 11 2025 00:10:20
libplacebo version: v7.350.0 (v7.349.0-30-g056b852-dirty)
FFmpeg version: N-118281-gb76053d8b
FFmpeg library versions:
   libavcodec      61.31.100
   libavdevice     61.4.100
   libavfilter     10.6.101
   libavformat     61.9.105
   libavutil       59.55.100
   libswresample   5.4.100
   libswscale      8.13.100
Other Information
- Windows version: Microsoft Windows NT 10.0.26100.0/26100.1457
- GPU model, driver and version: NVIDIA GeForce RTX 3080, DCH, 560.94
- Source of mpv: https://github.com/shinchiro/mpv-winbuild-cmake/releases/tag/20250111
- Latest known working version: N/A (earliest tested was v0.30.0)
- Issue started after the following happened: N/A
Reproduction Steps

I'm trying to play some Blu-ray discs with external subtitles. Works as expected when played from start to finish, but seeking ahead appears to shift the timing, resulting in the subtitles playing too quickly.

(BAD) open from disc, seek ahead to ending credits

# log: output-bd-seek-cli-bad.txt
mpv bd://12/E:/ --no-config --start=00:09:45.00 --sub-file=[...]

(OK) open from disc, play to completion without seeking

# log: output-bd-no-seek-ok.txt
mpv bd://12/E:/ --no-config --sub-file=[...]

(OK) open from local .m2ts file, seek ahead to the same time

# log: output-m2ts-seek-ok.txt
mpv 00070.m2ts --no-config --start=00:09:45.00 --sub-file=[...]
Expected Behavior

After seeking ahead, playing for a few seconds, then pausing on a specific frame, the current time in the OSD should match up across all instances and the subtitles should remain in sync.

Actual Behavior

When playing from disc with the bd:// URL, the time has now drifted ahead (00:09:49.333 vs. 00:09:48.505) and the subtitles are playing too early. This happens regardless of whether the seek was done with --start= or manually from the OSD.

However, if the video was played from disc up to this point without seeking ahead, the time will match the local .m2ts file and the subtitles will remain in sync as expected.

output-bd-seek-cli-bad.txt output-bd-no-seek-ok.txt output-m2ts-seek-ok.txt
bd seek ahead bad timestamp bd no seek correct timestamp m2ts seek ahead correct timestamp
Log File
Sample Files

No response

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.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the discrepancy with the bd:// commands and compare output-bd-seek-cli-bad.txt and output-bd-no-seek-ok.txt against output-m2ts-seek-ok.txt. Trace the bd:// playback and seeking path first; done means seeking no longer advances the OSD timestamp or causes external subtitles to play early, matching local m2ts and uninterrupted disc playback.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
audio-video-rtc
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.