mpv-player / mpv-player/mpv

Jerky playback when gradually changing speed

Open
#12,860 4 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

core:video
Dominant language
C
Stars
37k
Forks
3.5k
Avg merge
1d 10h
Merged PRs (30d)
22

Description

Important Information

Provide following Information:

  • mpv 051ba909b4107240d643e4793efa2ceb714fd1b4
  • Arch Linux
  • compiled from source
Reproduction steps

There are a lot of mistimed frames when speeding up or slowing down when holding the right arrow key while using evafast together with --video-sync=display-resample or --video-sync=display-tempo.
It must have something to do with AV sync, because --video-sync=display-desync doesn't have this problem.

Unfortunately the motion in the recordings isn't a good representation of what it actually looks like. That might be a problem with OBS, but at least the mistimed frames can be seen in the stats.

Expected behavior

Motion in the video remains smooth, like is the case with --video-sync=display-desync.

https://github.com/mpv-player/mpv/assets/8932183/5774ac21-185f-4eea-ae0e-4c01acc26631

Actual behavior

Jerky motion due to mistimed frames.

https://github.com/mpv-player/mpv/assets/8932183/f2223d0e-0dc4-47d2-a871-4d4d76c868ee

Log file

evafast_display-sync.txt

Sample files

Any video will do, it's particularly noticeable during panning shots.

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 issue with evafast while holding the right arrow key and compare --video-sync=display-resample or --video-sync=display-tempo against --video-sync=display-desync. Start by examining evafast_display-sync.txt and the reported playback and mistimed-frame behavior. Done means speed changes produce smooth motion without the mistimed frames.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.