Ant Media · Schema

Broadcast

An Ant Media Server broadcast/stream representing a live or recorded video stream with its configuration and current status.

BroadcastingLive StreamingMediaStreamingVideoWebRTC

Properties

Name Type Description
streamId string Unique identifier for the stream.
name string Human-readable name for the broadcast.
status string Current broadcast status.
type string Type of broadcast.
publishType string Protocol used to publish the stream.
streamUrl string URL for RTSP, SRT, or IP camera source streams.
hlsViewerCount integer Current number of HLS viewers.
webRTCViewerCount integer Current number of WebRTC viewers.
rtmpViewerCount integer Current number of RTMP viewers.
mp4Enabled integer Whether MP4 recording is enabled (1 = enabled, 0 = disabled).
webMEnabled integer Whether WebM recording is enabled.
duration integer Duration of the stream in milliseconds.
startTime integer Unix epoch milliseconds when broadcasting started.
absoluteStartTimeMs integer Absolute start time in Unix epoch milliseconds.
plannedStartDate integer Planned start time in Unix epoch milliseconds for scheduled broadcasts.
description string Description of the broadcast.
token string One-time publish token for secured stream publishing.
is360 boolean Whether this is a 360-degree stream.
latitude string GPS latitude for geo-tagged streams.
longitude string GPS longitude for geo-tagged streams.
altitude string GPS altitude for geo-tagged streams.
View JSON Schema on GitHub

JSON Schema

ant-media-broadcast-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/ant-media/refs/heads/main/json-schema/ant-media-broadcast-schema.json",
  "title": "Broadcast",
  "description": "An Ant Media Server broadcast/stream representing a live or recorded video stream with its configuration and current status.",
  "type": "object",
  "properties": {
    "streamId": {"type": "string", "description": "Unique identifier for the stream.", "example": "stream500123"},
    "name": {"type": "string", "description": "Human-readable name for the broadcast.", "example": "Product Launch Livestream"},
    "status": {"type": "string", "enum": ["created", "broadcasting", "finished"], "description": "Current broadcast status.", "example": "broadcasting"},
    "type": {"type": "string", "enum": ["liveStream", "ipCamera", "streamSource", "VOD"], "description": "Type of broadcast.", "example": "liveStream"},
    "publishType": {"type": "string", "enum": ["WebRTC", "RTMP", "RTSP", "SRT"], "description": "Protocol used to publish the stream.", "example": "WebRTC"},
    "streamUrl": {"type": "string", "format": "uri", "description": "URL for RTSP, SRT, or IP camera source streams.", "example": "rtsp://camera.example.com/stream"},
    "hlsViewerCount": {"type": "integer", "description": "Current number of HLS viewers.", "example": 1250},
    "webRTCViewerCount": {"type": "integer", "description": "Current number of WebRTC viewers.", "example": 45},
    "rtmpViewerCount": {"type": "integer", "description": "Current number of RTMP viewers.", "example": 0},
    "mp4Enabled": {"type": "integer", "description": "Whether MP4 recording is enabled (1 = enabled, 0 = disabled).", "example": 1},
    "webMEnabled": {"type": "integer", "description": "Whether WebM recording is enabled.", "example": 0},
    "duration": {"type": "integer", "description": "Duration of the stream in milliseconds.", "example": 300000},
    "startTime": {"type": "integer", "description": "Unix epoch milliseconds when broadcasting started.", "example": 1745000000000},
    "absoluteStartTimeMs": {"type": "integer", "description": "Absolute start time in Unix epoch milliseconds.", "example": 1745000000000},
    "plannedStartDate": {"type": "integer", "description": "Planned start time in Unix epoch milliseconds for scheduled broadcasts.", "example": 1745000000000},
    "description": {"type": "string", "description": "Description of the broadcast.", "example": "Live product launch event with Q&A session."},
    "token": {"type": "string", "description": "One-time publish token for secured stream publishing.", "example": "abc123def456"},
    "is360": {"type": "boolean", "description": "Whether this is a 360-degree stream.", "example": false},
    "latitude": {"type": "string", "description": "GPS latitude for geo-tagged streams.", "example": "37.7749"},
    "longitude": {"type": "string", "description": "GPS longitude for geo-tagged streams.", "example": "-122.4194"},
    "altitude": {"type": "string", "description": "GPS altitude for geo-tagged streams.", "example": "10"}
  },
  "required": ["streamId", "name", "status", "type"]
}