Thumbnails
Thumbnail support is implemented as a plugin, meaning it must be installed and enabled separately.
Setup
First, install the thumbnail package:
npm install @castlabs/react-native-prestoplay-thumbnails
Once the plugin is installed, enable it when initializing the SDK, by passing the ThumbnailPlugin
class. For example:
import {Sdk} from '@castlabs/react-native-prestoplay';
import {ThumbnailPlugin} from '@castlabs/react-native-prestoplay-thumbnails';
Sdk.initialize({
licenseKey: { /* Valid license here */ },
plugins: [new ThumbnailPlugin()],
});
Usage
If a thumbnail track is not embedded in a stream, side-loading of a thumbnail track is available. When initializing the player, specify a remote thumbnail track in the player configuration. For example:
<PlayerProvider playerConfig={{
autoPlay: true,
source: { /* ... */ },
remoteThumbnailTracks: [
{
url: 'https://example.com/thumbs/$index$.jpg',
mimeType: 'image/jpeg',
gridHeight: 1,
gridWidth: 1,
intervalMs: 10000,
},
]
}}/>
With the plugin enabled, use the Thumbnail
component to display a single thumbnail at a specific time in the video:
<Thumbnail
positionMs={ /* Time in milliseconds where the thumbnail should appear */ }
style={{width: 150, height: 100}} // Adjust the size of the thumbnail
/>
Please note, that it’s important to place the Thumbnail
component inside the PlayerProvider
to ensure it has access to the player instance.