.do
Sdk

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 */ })