[UX] Seek length should respect the playback speed value
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 37k
- Forks
- 3.5k
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 22
Description
Expected behavior of the wanted feature
Let's start off with a rough example. When you're watching a game speedrun, each frame is important and you would sometimes lower the playback speed to 0.05 or 0.01 values. Then, if you want to rewatch the previous moment, seeking back 5 seconds (the default seek value) will scale to 100 (or 500) seconds — an immense amount of real/effective watch time. Even shift+arrow won't give you 5 seconds of real duration then. Of course, it's easy to imagine examples also for faster playback — x1.5, x2, x3
Why not add more seek shortcuts with different values? It won't work, since all users have different preferences and many of them watch different videos at different speeds. Neither you nor users can keep adding new seek shortcuts for 0.5/0.25/10/20/etc seconds or choosing the right shortcut during video watching
Why add this directly to mpv and not to a plugin? Seeking by effective watch time feels natural. Seeking by 500 seconds does not. Even more than that, I propose not only adding a new playback-speed-aware seek command respecting playback speed, but also changing default seek keybindings to this option, as it fixes UX
Maybe it would be even consistent with the default OSC that shows effective time in "time left" section, but still inconsistent with "time elapsed" (why they're different?)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files or tests. Start by locating mpv's seek command and default keybinding handling, then trace how playback speed affects seek duration. Done means the default seek controls move by the intended effective watch time at very slow and fast playback speeds, with regression coverage for those cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100