How to save where user stopped playback?

We want to save the place where the user stopped playback so he can continue playback at a later time. How do we do that?

Hi @andrei.muntean , thanks for your question. It(also referred as Follow Me/Bookmark etc.) is a very useful function for any video/OTT application. In our experience it can be implemented using following steps.

Step 1 : Saving the last played position.

  • If the playback need to be resumed from same point on individual devices where it was last watched, then the last playback position information can be saved within the application. All application frameworks including Android/iOS/Browsers provide mechanisms to store small volumes of data locally. All these storages are subject to be wiped when user clears app storage or app itself etc. but in that case user should also normally accept the playback starting from default start positions.
  • But if the need is to bookmark last played position across player devices(multi-screens), then you will need to use a network storage/service to send the playback position to a backend service (which could be provided by a CMS). Then when same user plays back same asset next time, your application will fetch the last played position from backend service and then use it for starting playback.

In both the above cases, it is recommended to update the playback position periodically during playback. In certain edge scenarios like device switch off etc. application may not get chance to update the latest played position and if the position was updated periodically, still the app will have a very close last played position to resume playback from.

EDIT : The current playing position can be obtained from player using one of the following 2 ways.

Step 2 : Using the last played position for playback.

  • At the time of playback start, along with fetching the stream information from CMS, application also fetches the last playback position for an asset which was either stored locally in app or remotely on CMS etc.
  • Then this information can be added to player’s source configuration to configure the playback to start from desired position. Bitmovin player SDK’s provide following configuration for the same.

The above configuration work in similar way on all player platforms.

  • For VOD assets, the default startOffset= 0 and the default startOffsetTimelineReference is start of content.
  • For LIVE assets, the default startOffsetTimelineReference is end (live edge).

I hope above information helps. Do let us know if there are any further questions on this topic.

Thanks and Regards,
Lucky Goyal

2 Likes