Skip to main content

Overview

The Broadcasts API allows you to create and manage live streams, IP cameras, stream sources, and playlists. All endpoints are prefixed with /v2/broadcasts.

Create Broadcast

Create a new broadcast, IP camera, or stream source.
POST /v2/broadcasts/create
string
Custom stream ID. If empty, auto-generated. Must be unique and valid.
string
Display name for the broadcast
string
Description of the broadcast
string
Broadcast type:
  • liveStream - Regular live stream (RTMP/WebRTC ingested)
  • ipCamera - IP Camera stream (pulled by server)
  • streamSource - Stream source (pulled by server)
  • VoD - Video on Demand
  • playlist - Playlist
string
IP address (for IP cameras)
string
Stream URL (for stream sources)
string
Username for IP camera authentication
string
Password for IP camera authentication
string
Subfolder for storing recordings
boolean
default:"false"
Automatically start pulling stream (only for IP cameras and stream sources)
string
ID of the created broadcast
string
RTMP URL for publishing
string
Broadcast status: created, broadcasting, finished
string
Type of broadcast
string
Broadcast name

Get Broadcast

Retrieve a broadcast object by ID.
GET /v2/broadcasts/{id}
string
required
Broadcast ID
Response: Full Broadcast object with all properties.

Update Broadcast

Update broadcast properties.
PUT /v2/broadcasts/{id}
string
required
Broadcast ID to update
string
New broadcast name
string
New description
string
New stream URL (for stream sources)
string
New IP address (for IP cameras)
string
New username
string
New password
boolean
Whether update was successful

Delete Broadcast

Delete a broadcast and stop if it’s currently broadcasting.
DELETE /v2/broadcasts/{id}
string
required
Broadcast ID to delete
boolean
default:"true"
Also delete subtracks (conference participants)
boolean
true if deleted successfully

Delete Multiple Broadcasts

Delete multiple broadcasts in bulk.
DELETE
string
required
Comma-separated stream IDs to delete

List Broadcasts

Get paginated list of broadcasts with optional filtering and sorting.
GET /v2/broadcasts/list/{offset}/{size}
integer
required
Pagination offset (starting point)
integer
required
Number of items to fetch (max: 50)
string
Filter by type: liveStream, ipCamera, streamSource, VoD
string
Sort field: name, date, status
string
Sort order: asc or desc
Search string to filter results
Response: Array of Broadcast objects.

Get Broadcast Count

Get total number of broadcasts.
GET /v2/broadcasts/count
integer
Total number of broadcasts

Get Active Live Stream Count

Get count of currently active live streams.
GET /v2/broadcasts/active-live-stream-count
integer
Number of active live streams

Stream Control

Start Stream Source

Start pulling a stream source, IP camera, or playlist.
POST /v2/broadcasts/{id}/start
string
required
Broadcast ID to start

Stop Streaming

Stop an active broadcast.
POST /v2/broadcasts/{id}/stop
string
required
Broadcast ID to stop
boolean
Also stop subtracks (conference participants)

Recording Control

Enable/Disable Recording

Control recording for a specific stream.
PUT /v2/broadcasts/{id}/recording/{recording-status}
string
required
Stream ID
boolean
required
true to start recording, false to stop
string
default:"mp4"
Record format: mp4 or webm
integer
Resolution height to record (for adaptive streaming)
string
Custom base filename (without extension)

RTMP/SRT Endpoints

Add Endpoint

Add an RTMP or SRT re-streaming endpoint.
POST /v2/broadcasts/{id}/endpoint
string
required
Broadcast ID
string
required
RTMP or SRT URL for re-streaming
integer
Specific resolution to send to endpoint
boolean
Whether endpoint was added
string
Generated endpoint service ID

Remove Endpoint

Remove an RTMP or SRT endpoint.
DELETE /v2/broadcasts/{id}/endpoint
string
required
Broadcast ID
string
required
Endpoint service ID to remove
integer
Resolution height if endpoint was added with specific resolution

Statistics

Get Broadcast Statistics

Get viewer statistics for a specific stream.
GET /v2/broadcasts/{id}/broadcast-statistics
string
required
Stream ID
integer
Number of RTMP viewers
integer
Number of HLS viewers
integer
Number of WebRTC viewers
integer
Number of DASH viewers

Get Total Statistics

Get total viewer statistics across all streams.
GET /v2/broadcasts/total-broadcast-statistics
integer
Total HLS viewers
integer
Total WebRTC viewers
integer
Total DASH viewers
integer
Number of active broadcasts

Stream Information

Get Stream Info

Get technical stream information (resolution, bitrates, codec).
GET /v2/broadcasts/{id}/stream-info
string
required
Stream ID
Response: Array of stream info objects containing:
  • videoHeight - Video resolution height
  • videoWidth - Video resolution width
  • videoBitrate - Video bitrate
  • audioBitrate - Audio bitrate
  • videoCodec - Video codec name

Get Stream Duration

Get duration of a stream URL in milliseconds.
GET /v2/broadcasts/duration
string
required
URL of the stream to check duration
boolean
Whether duration was retrieved
string
Duration in milliseconds (as string)
integer
Error code if failed:
  • -1: Duration not available
  • -2: URL cannot be opened
  • -3: Cannot get stream info

Playlist Operations

Play Next Item

Skip to next or specific item in a playlist.
POST /v2/broadcasts/playlists/{id}/next
string
required
Playlist ID
integer
Index of item to play. -1 or omit to play next item. First item is index 0.

Seek Time

Seek to specific time in a playing stream source, VoD, or playlist.
PUT /v2/broadcasts/{id}/seek-time/{seekTimeMs}
string
required
Broadcast ID
integer
required
Seek position in milliseconds

IP Camera Operations

Search ONVIF Devices

Discover ONVIF IP cameras on the local network.
GET /v2/broadcasts/onvif-devices
Response: Array of discovered ONVIF device URLs.

Get Camera Profiles

Get available profiles for an ONVIF IP camera.
GET /v2/broadcasts/{id}/ip-camera/device-profiles
string
required
IP Camera broadcast ID
Response: Array of available profile names.

Move IP Camera

Control PTZ (Pan-Tilt-Zoom) movements.
POST /v2/broadcasts/{id}/ip-camera/move
string
required
IP Camera ID
float
default:"0"
Movement in X direction (-1.0 to 1.0)
float
default:"0"
Movement in Y direction (-1.0 to 1.0)
float
default:"0"
Zoom value:
  • Absolute: 0.0 to 1.0
  • Relative/Continuous: -1.0 to 1.0
string
default:"relative"
Movement type: relative, absolute, or continuous

Stop Camera Movement

Stop ongoing PTZ movement.
POST /v2/broadcasts/{id}/ip-camera/stop-move
string
required
IP Camera ID

Get Camera Error

Check for errors after IP camera connection failure.
GET /v2/broadcasts/{streamId}/ip-camera-error
string
required
IP Camera stream ID
boolean
Whether error info was retrieved
string
Error message if any