Enabling I-Frame thumbnail previews
Like WebVTT thumbnails, I-Frame thumbnails also show previews of the stream using the time slider/progress bar.
Prerequisites
A test stream with #EXT-X-I-FRAME-STREAM-INF
playlists included. The thumbnails example code project provides an example stream.
Process
To present I-Frame thumbnails to your user, you must create an instance of OTVThumbnailView
, passing it the stream URL that your OTVAVPlayer
is (or will be) playing.
OTVThumbnailView
is only intended for use with streams that have #EXT-X-I-FRAME-STREAM-INF
playlists as these define where the I-Frames are in the stream. Immediately after initialisation, the function will always return false. If #EXT-X-I-FRAME-STREAM-INF
playlists are present, the OTVThumbnailView
will report true
from its hasThumbnails()
function once it has determined that they are present (which is an asynchronous operation).
Presenting the thumbnail to the user
The thumbnail needs to be updated in the timeSliderDidChange
function, which in the case of I-Frame thumbnails means calling the thumbnail view’s setTime(toSeconds:)
function.
You cannot create an OTVThumbnailView in storyboard or interface builder as it needs to be initialised with a stream URL.
DRM considerations
If the stream you are using with OTVThumbnailView
is encrypted, you will need to have set up a license delegate with the SDK in the same way as for playback of the encrypted stream.