Stream SDK
SDK reference for Stream
Stream SDK
A serverless video platform for uploading, storing, encoding, and delivering live and on-demand video content globally.
Import
import { $ } from 'sdk.do'Operations
create
Create a new video stream.
const result = await $.Stream.create({
// parameters
})upload
Upload video content to the stream.
const result = await $.Stream.upload({
// parameters
})delete
Permanently remove the video stream.
const result = await $.Stream.delete({
// parameters
})getUploadUrl
Generate one-time upload URL for end users.
const result = await $.Stream.getUploadUrl({
// parameters
})getSignedUrl
Generate signed URL for restricted access.
const result = await $.Stream.getSignedUrl({
// parameters
})updateAccess
Change access control settings.
const result = await $.Stream.updateAccess({
// parameters
})addCaptions
Add subtitle or caption track to video.
const result = await $.Stream.addCaptions({
// parameters
})removeCaptions
Remove subtitle or caption track from video.
const result = await $.Stream.removeCaptions({
// parameters
})startLive
Begin live streaming session.
const result = await $.Stream.startLive({
// parameters
})stopLive
End live streaming session.
const result = await $.Stream.stopLive({
// parameters
})getAnalytics
Retrieve viewing metrics and performance data.
const result = await $.Stream.getAnalytics({
// parameters
})getThumbnail
Get or generate video thumbnail.
const result = await $.Stream.getThumbnail({
// parameters
})Events
created
Triggered when a new video stream is created.
import { on, send } from 'sdk.do'
// Subscribe to event
on.Stream.created(async (data) => {
console.log('Event received:', data)
})
// Emit event
await send.Stream.created({ /* data */ })uploaded
Triggered when video content is uploaded.
import { on, send } from 'sdk.do'
// Subscribe to event
on.Stream.uploaded(async (data) => {
console.log('Event received:', data)
})
// Emit event
await send.Stream.uploaded({ /* data */ })deleted
Triggered when video stream is removed.
import { on, send } from 'sdk.do'
// Subscribe to event
on.Stream.deleted(async (data) => {
console.log('Event received:', data)
})
// Emit event
await send.Stream.deleted({ /* data */ })Encoding.started
Triggered when video encoding begins.
import { on, send } from 'sdk.do'
// Subscribe to event
on.Stream.Encoding.started(async (data) => {
console.log('Event received:', data)
})
// Emit event
await send.Stream.Encoding.started({ /* data */ })Encoding.completed
Triggered when video encoding finishes.
import { on, send } from 'sdk.do'
// Subscribe to event
on.Stream.Encoding.completed(async (data) => {
console.log('Event received:', data)
})
// Emit event
await send.Stream.Encoding.completed({ /* data */ })Encoding.failed
Triggered when video encoding encounters error.
import { on, send } from 'sdk.do'
// Subscribe to event
on.Stream.Encoding.failed(async (data) => {
console.log('Event received:', data)
})
// Emit event
await send.Stream.Encoding.failed({ /* data */ })viewed
Triggered when video is played by a viewer.
import { on, send } from 'sdk.do'
// Subscribe to event
on.Stream.viewed(async (data) => {
console.log('Event received:', data)
})
// Emit event
await send.Stream.viewed({ /* data */ })Live.started
Triggered when live stream begins.
import { on, send } from 'sdk.do'
// Subscribe to event
on.Stream.Live.started(async (data) => {
console.log('Event received:', data)
})
// Emit event
await send.Stream.Live.started({ /* data */ })Live.stopped
Triggered when live stream ends.
import { on, send } from 'sdk.do'
// Subscribe to event
on.Stream.Live.stopped(async (data) => {
console.log('Event received:', data)
})
// Emit event
await send.Stream.Live.stopped({ /* data */ })Access.updated
Triggered when access control settings change.
import { on, send } from 'sdk.do'
// Subscribe to event
on.Stream.Access.updated(async (data) => {
console.log('Event received:', data)
})
// Emit event
await send.Stream.Access.updated({ /* data */ })Captions.added
Triggered when captions are added to video.
import { on, send } from 'sdk.do'
// Subscribe to event
on.Stream.Captions.added(async (data) => {
console.log('Event received:', data)
})
// Emit event
await send.Stream.Captions.added({ /* data */ })