←back to thread

1113 points Bluestein | 1 comments | | HN request time: 0s | source
Show context
HPsquared ◴[] No.41277951[source]
Can it do smooth scrubbing (i.e. scrolling the progress bar)?

So many media players only show the key frames when scrubbing, making it a much less pleasant experience. Some mobile phones (Apple, Samsung) built-in media players seem to do it nicely, but I've never found a desktop media player that does it (VLC can't).

Probably would require a lot of extra decoding behind the scenes to extract all the frames, but worth it on a modern machine.

replies(5): >>41278043 #>>41278173 #>>41278493 #>>41278508 #>>41285327 #
arp242 ◴[] No.41278043[source]
I don't really know what "scrubbing" is, but If you add "exact" to seek then it will use exact (non-keyframe) seeks. I think that's what you want? For example from my input.conf:

  Right            seek  5                    # In seconds; these are limited by keyframes
  Left             seek -5
  Shift+Right      seek  2 exact              # Smaller non-keyframe-limited, seeks with shift
  Shift+Left       seek -2 exact
Obviously, this is slower. Sometimes much slower (depending on the file).
replies(1): >>41281320 #
latexr ◴[] No.41281320[source]
> Obviously, this is slower. Sometimes much slower (depending on the file).

Anecdotally, I’d change that “sometimes” to “often”. After years of using `exact` I finally stopped. It always felt that the wait was longer than going to the previous keyframe and rewatching the bit. Now if I could only find the perfect timing to go back, though.

replies(1): >>41283631 #
1. arp242 ◴[] No.41283631[source]
A lot of stuff I watch is 720p, and it's okay with that. But with some types of higher quality files it can be (very) slow.

That said, I have replaced most of my "exact seeks" with "sub-seek"; in input.conf:

  Alt+Right        sub-seek  1   # Go to next/previous sub (within demuxer-readahead-secs)
  Alt+d            sub-seek  1
  Alt+Left         sub-seek -1
  Alt+a            sub-seek -1
And then in mpv.conf:

  demuxer-readahead-secs=120     # sub-seek only works within this cache
  demuxer-hysteresis-secs=60     # Fill cache only if lower than this; saves battery
This allows me to fairly quickly skip past stuff that's not too interesting, while still actually following the gist of what's going on.

I think it's also bound by default, but I'm not sure what that is from the top of my head. You'll definitely need to set that cache as it's only 2 seconds or so by default.