Skip to content

Allow per-frame playback navigation #3087

@Ratismal

Description

@Ratismal

On media players such as youtube, it's possible to seek through the video one frame at a time using the , and . keys. This is a super useful feature, for example when you want to take a screenshot of one specific frame. I appreciate that there's more granularity in seeking intervals than other apps such as Plex, but I've always felt myself longing to be able to seek on a frame-to-frame basis. Didn't see any existing issues or feature requests for this, so thought I'd make one myself.

On a technical level, this should be easily accomplishable. There's only really two places where changes need to be made:

  1. https://github.com/jellyfin/jellyfin-web/blob/master/src/controllers/playback/video/index.js#L1041
    A key listener on the playback controller for the new navigation keys (ex. , and .), which would call:
  2. https://github.com/jellyfin/jellyfin-web/blob/master/src/components/playback/playbackmanager.js#L3465
    New functions on the playbackManager which would call seekRelative using the tick equivalent of one frame.

This is what I gleaned from a quick glance-over of the source code. The most challenging part, in my opinion, would be determining how many "ticks" a single frame lasts for. A single second is equivalent to 50,000,000 ticks, so all we'd need to determine is how many frames per second there are in the current video - I'm sure that kind of information would exist somewhere, just would need to look further into it.

If this is something you'd all fine with but don't want to invest time into, I'd be more than happy to try implementing this myself. Thank you for your time!

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementImprove existing functionality or small fixes

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions