Red5 · Schema
Red5 Pro Stream
Schema representing a live stream on a Red5 Pro server, including publishing configuration, subscriber tracking, and media codec details.
Live StreamingMediaReal-TimeRTMPStreamingVideoWebRTC
Properties
| Name | Type | Description |
|---|---|---|
| name | string | Unique stream name identifier within the application scope |
| appName | string | Red5 Pro application scope that contains this stream |
| clientId | string | Identifier of the publishing client connection |
| status | string | Current operational status of the stream |
| protocol | string | Streaming protocol used by the publisher |
| duration | integer | Stream duration in milliseconds since publishing began |
| subscriberCount | integer | Number of currently active subscribers to this stream |
| bytesIn | integer | Total bytes received from the publisher |
| bytesOut | integer | Total bytes sent to all subscribers |
| video | object | |
| audio | object | |
| recording | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://www.red5.net/schemas/stream.json",
"title": "Red5 Pro Stream",
"description": "Schema representing a live stream on a Red5 Pro server, including publishing configuration, subscriber tracking, and media codec details.",
"type": "object",
"required": ["name"],
"properties": {
"name": {
"type": "string",
"description": "Unique stream name identifier within the application scope",
"maxLength": 255
},
"appName": {
"type": "string",
"description": "Red5 Pro application scope that contains this stream",
"default": "live"
},
"clientId": {
"type": "string",
"description": "Identifier of the publishing client connection"
},
"status": {
"type": "string",
"description": "Current operational status of the stream",
"enum": ["publishing", "idle", "error"]
},
"protocol": {
"type": "string",
"description": "Streaming protocol used by the publisher",
"enum": ["rtmp", "webrtc", "rtsp", "srt"]
},
"duration": {
"type": "integer",
"description": "Stream duration in milliseconds since publishing began",
"minimum": 0
},
"subscriberCount": {
"type": "integer",
"description": "Number of currently active subscribers to this stream",
"minimum": 0
},
"bytesIn": {
"type": "integer",
"description": "Total bytes received from the publisher",
"minimum": 0
},
"bytesOut": {
"type": "integer",
"description": "Total bytes sent to all subscribers",
"minimum": 0
},
"video": {
"$ref": "#/$defs/VideoTrack"
},
"audio": {
"$ref": "#/$defs/AudioTrack"
},
"recording": {
"$ref": "#/$defs/RecordingConfig"
}
},
"$defs": {
"VideoTrack": {
"type": "object",
"description": "Video track properties for a live stream",
"properties": {
"codec": {
"type": "string",
"description": "Video codec identifier (e.g., H264, H265, VP8)",
"examples": ["H264", "H265", "VP8", "VP9"]
},
"width": {
"type": "integer",
"description": "Video frame width in pixels",
"minimum": 1,
"maximum": 7680
},
"height": {
"type": "integer",
"description": "Video frame height in pixels",
"minimum": 1,
"maximum": 4320
},
"frameRate": {
"type": "number",
"description": "Video frame rate in frames per second",
"minimum": 1,
"maximum": 120
},
"bitrate": {
"type": "integer",
"description": "Video bitrate in bits per second",
"minimum": 0
},
"keyFrameInterval": {
"type": "number",
"description": "Interval between keyframes in seconds"
}
}
},
"AudioTrack": {
"type": "object",
"description": "Audio track properties for a live stream",
"properties": {
"codec": {
"type": "string",
"description": "Audio codec identifier (e.g., AAC, MP3, Opus)",
"examples": ["AAC", "MP3", "Opus", "Speex"]
},
"sampleRate": {
"type": "integer",
"description": "Audio sample rate in Hz",
"enum": [8000, 11025, 16000, 22050, 32000, 44100, 48000]
},
"channels": {
"type": "integer",
"description": "Number of audio channels (1 for mono, 2 for stereo)",
"minimum": 1,
"maximum": 8
},
"bitrate": {
"type": "integer",
"description": "Audio bitrate in bits per second",
"minimum": 0
}
}
},
"RecordingConfig": {
"type": "object",
"description": "Configuration for stream recording",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether recording is currently active for this stream"
},
"format": {
"type": "string",
"description": "Recording file format",
"enum": ["mp4", "flv"]
},
"filePath": {
"type": "string",
"description": "Server filesystem path where the recording is saved"
},
"startTime": {
"type": "string",
"format": "date-time",
"description": "Timestamp when recording started"
}
}
}
}
}