@sourcesync-sdk/content
v0.2.4
Published
## Overview
Downloads
300
Readme
@sourcesync-sdk/content
Overview
The @sourcesync-sdk/content is part of the SourceSync SDK. It initializes a content object that can be used to retrieve metadata, effects, and other content-related information for a specific distribution.
Installation
To install the package, run the following command in your project directory:
npm install sourcesync-sdk
Or install a submodule as its own dependency:
npm install @sourcesync-sdk/content @sourcesync-sdk/app
How to use
Getting started
First, initialize your application and create a content:
import { initializeApp } from 'sourcesync-sdk/app';
import { getContent } from 'sourcesync-sdk/content';
const app = await initializeApp({
appKey: 'your-app-key',
// app config
})
const content = await getContent({
app,
// Specify one of the following options to identify the media
mediaId: 'mediaId',
// or
mediaUrl: 'mediaUrl',
// or
mediaUrlHash: 'mediaUrlHash'
// or
distribution: { id: 'distributionId' },
// Support for clientId is coming soon
// distribution: { clientId: 'clientId' }
// specify the environment of the content and user
environment: {}
})
Retrieving Context and Metadata
To get the context of a content object at a specific time:
// specify the time in milliseconds
const context = await content.getContext({ start: 0, duration: 1000 })
// Get the metadata
const metadata = context.metadata
Retrieving Effects
To get the effects of a content object at a specific time:
// specify the time in milliseconds
const { effects, context } = await content.getEffects({ start: 0, duration: 1000 })
Buffered Content
Buffered content efficiently pre-fetches and caches content moments so that they are readily available when needed. Useful to use with media players or other applications that require quick access to sequential content moments.
To create a buffered version of the content object:
const bufferedContent = content.buffered({
// The duration of each segment in milliseconds
duration: 5000,
// The duration of the buffer in milliseconds
bufferDuration: 1000 * 10
})
// just pass the time in milliseconds
const context = await bufferedContent.getContext(timeInMilliseconds)
const effects = await bufferedContent.getEffects(timeInMilliseconds)
License
This SDK is distributed under the Apache License, Version 2.0. The Apache 2.0 License applies to the SDK only and not any other component of the SourceSync Platform.