Download OpenAPI specification:Download
Owncast is a self-hosted live video and web chat server for use with existing popular broadcasting software. The following APIs represent the state in the development master branch.
{- "broadcaster": {
- "remoteAddr": "172.217.164.110",
- "time": "2020-10-06T23:20:44.588649-07:00",
- "streamDetails": {
- "width": 640,
- "height": 480,
- "frameRate": 24,
- "videoBitrate": 1500,
- "videoCodec": "mp4a",
- "audioBitrate": 256,
- "audioCodec": "aac",
- "encoder": "obs-output module (libobs version 25.0.8)"
}
}, - "online": true,
- "viewerCount": 3,
- "overallPeakViewerCount": 4,
- "sessionPeakViewerCount": 4,
- "versionNumber": "0.0.3",
- "disableUpgradeChecks": false
}
Disconnect the active inbound stream, if one exists, and terminate the broadcast.
{- "success": true,
- "message": "context specific success message"
}
Return a list of currently connected clients with optional geo details.
[- {
- "connectedAt": "2020-10-06T23:20:44.588649-07:00",
- "messageCount": 3,
- "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36",
- "ipAddress": "172.217.164.110",
- "username": "coolperson42",
- "clientID": "2ba20dd34f911c198df3218ddc64c740",
- "geo": {
- "countryCode": "US",
- "regionName": "California",
- "timeZone": "America/Los_Angeles"
}
}
]
[- {
- "message": "Owncast v0.0.0-localdev (unknown)",
- "level": "info",
- "time": "2020-10-29T18:35:34.422386-07:00"
}, - {
- "message": "Web server running on port: 8080",
- "level": "info",
- "time": "2020-10-29T18:35:35.011731-07:00"
}, - {
- "message": "RTMP server is listening for incoming stream on port: 1935",
- "level": "info",
- "time": "2020-10-29T18:35:35.011823-07:00"
}
]
Return recent warning and error logs.
[- {
- "message": "Owncast v0.0.0-localdev (unknown)",
- "level": "info",
- "time": "2020-10-29T18:35:34.422386-07:00"
}, - {
- "message": "Web server running on port: 8080",
- "level": "info",
- "time": "2020-10-29T18:35:35.011731-07:00"
}, - {
- "message": "RTMP server is listening for incoming stream on port: 1935",
- "level": "info",
- "time": "2020-10-29T18:35:35.011823-07:00"
}
]
Change the stream key in memory, but not in the config file. This will require all broadcasters to be reconfigured to connect again.
key | string |
{- "key": "string"
}
{- "success": true,
- "message": "changed"
}
Change the extra page content in memory, but not on disk.
content | string |
{- "content": "string"
}
{- "success": true,
- "message": "changed"
}
Change the stream title in memory, but not in the config file.
title | string |
{- "title": "string"
}
{- "success": true,
- "message": "changed"
}
Change the stream name in memory, but not in the config file.
name | string |
{- "name": "string"
}
{- "success": true,
- "message": "changed"
}
{- "instanceDetails": {
- "name": "string",
- "title": "string",
- "summary": "string",
- "logo": "string",
- "tags": [
- "string"
], - "extraPageContent": "<p>This page is <strong>super</strong> cool!",
- "version": "Owncast v0.0.3-macOS (ef3796a033b32a312ebf5b334851cbf9959e7ecb)"
}, - "ffmpegPath": "string",
- "webServerPort": 0,
- "s3": {
- "enabled": true,
- "endpoint": "string",
- "servingEndpoint": "string",
- "accessKey": "string",
- "secret": "string",
- "bucket": "string",
- "region": "string",
- "acl": "string"
}, - "videoSettings": {
- "videoQualityVariants": [
- {
- "videoPassthrough": true,
- "audioPassthrough": true,
- "videoBitrate": 0,
- "audioBitrate": 0,
- "scaledWidth": 0,
- "scaledHeight": 0,
- "framerate": 0,
- "encoderPreset": "string"
}
], - "segmentLengthSeconds": 0,
- "numberOfPlaylistItems": 0
}, - "yp": {
- "enabled": false,
- "instanceUrl": "string"
}
}
Pass an array of IDs you want to change the chat visibility of.
visible | boolean Are these messages visible in "Get the CPU, Memory and Disk utilization levels over the collected period." |
idArray | Array of strings |
{- "visible": true,
- "idArray": [
- "string"
]
}
{- "success": true,
- "message": "context specific success message"
}
Get the CPU, Memory and Disk utilization levels over the collected period.
{- "cpu": [
- {
- "time": "2020-10-03T21:41:00.381996-05:00",
- "value": 23
}, - {
- "time": "2020-10-03T21:42:00.381996-05:00",
- "value": 27
}, - {
- "time": "2020-10-03T21:43:00.381996-05:00",
- "value": 22
}
], - "memory": [
- {
- "time": "2020-10-03T21:41:00.381996-05:00",
- "value": 65
}, - {
- "time": "2020-10-03T21:42:00.381996-05:00",
- "value": 66
}, - {
- "time": "2020-10-03T21:43:00.381996-05:00",
- "value": 72
}
], - "disk": [
- {
- "time": "2020-10-03T21:41:00.381996-05:00",
- "value": 11
}, - {
- "time": "2020-10-03T21:42:00.381996-05:00",
- "value": 11
}, - {
- "time": "2020-10-03T21:43:00.381996-05:00",
- "value": 11
}
]
}
{- "name": "string",
- "title": "string",
- "summary": "string",
- "logo": "string",
- "tags": [
- "string"
], - "extraPageContent": "<p>This page is <strong>super</strong> cool!",
- "version": "Owncast v0.0.3-macOS (ef3796a033b32a312ebf5b334851cbf9959e7ecb)"
}
This endpoint is used to discover when a server is broadcasting, the number of active viewers as well as other useful information for updating the user interface.
{- "lastConnectTime": "2020-10-03T21:36:22-05:00",
- "lastDisconnectTime": null,
- "online": true,
- "overallMaxViewerCount": 420,
- "sessionMaxViewerCount": 12,
- "viewerCount": 7
}
Information to be used in the Yellow Pages service, a global directory of Owncast servers.
{- "name": "string",
- "description": "string",
- "logo": "string",
- "nsfw": true,
- "tags": [
- "string"
], - "online": true,
- "viewerCount": 0,
- "overallMaxViewerCount": 0,
- "sessionMaxViewerCount": 0,
- "lastConnectTime": "2019-08-24T14:15:22Z"
}
Change the stream key in memory, but not in the config file. This will require all broadcasters to be reconfigured to connect again.
key | string |
{- "key": "string"
}
{- "success": true,
- "message": "changed"
}
Change the extra page content in memory, but not on disk.
content | string |
{- "content": "string"
}
{- "success": true,
- "message": "changed"
}
Change the stream title in memory, but not in the config file.
title | string |
{- "title": "string"
}
{- "success": true,
- "message": "changed"
}
Change the stream name in memory, but not in the config file.
name | string |
{- "name": "string"
}
{- "success": true,
- "message": "changed"
}