Introduction

THEOplayer allows viewers to frame accurate seek (by frame number) and skip forward or backwards frame-by-frame through an HLS stream on desktop browsers. This is mostly used for video processing applications or for users who require to mark very accurate specific parts of HLS content (e.g. indication for ad insertion, selection of fast-moving actions in sport games, etc.).

THEOplayer has frame accurate seek support for VOD streams on Chrome, Firefox and Internet Explorer on desktop. In order to make sure frame accurate seeking works correctly in your video stream - make sure your manifest has accurate floating point durations for each and every fragment.

Configuration options

For enabling frame accurate seeking support in THEOplayer on desktop, only a single configuration option is required:

Attribute Required Description
frameAccurateSeekEnabled   In order to enable frame accurate seeking, this configuration attribute has to be set to the value true.

Once enabled, this automatically increases the accuracy of seeking in the player. However, in order to do frame accurate seeking you need to make use of the API. Start by obtaining a reference to the THEOplayer instance:

theoplayer.player(identifier);      

Where 'identifier' is either a sequence number (starting at 0) or an HTML-id given to the <video>-tag to which the player was attached. When frame accurate seek is enabled, the following attributes are available on the player instance:

Attribute Description
currentFrame Sets or returns the current frame of the active video rendition. Setting this value will seek the player to the given frame.
frameAccurateSeekEnabled Returns true if frame accurate seeking is currently possible in the video:
  • Enabled in the configuration.
  • Playing a VOD stream.
  • Video is currently paused.
  • Currently using Chrome, Firefox or Internet Explorer on desktop.
frameRate Returns the amount of frames per second of the active video rendition.

Below you can find a THEOplayer instance that has been configured to support frame accurate seeking on desktop browsers. Furthermore, buttons have been attached to the THEOplayer instance in order to read and update the current frame number. Keep in mind, the player has to be paused in order to perform frame accurate seeks.

theoplayer = {
    configuration : {
        frameAccurateSeekEnabled : true
    }
}

Support Table

This feature is supported on all browsers supported by THEOplayer, except on some versions of iOS. iOS has a browser limitation: the native video element doesn't allow you to access the current frame. 

Internet Explorer 10+

Internet Explorer 10+

Firefox

Firefox

Chrome

Chrome

Safari

Safari

Opera

Opera

Edge

Edge

Windows Phone

Windows Phone

Android

Android

Vivaldi

Vivaldi