ScheduledChannel allows you to create a live channel by scheduling pre-recorded files has been added to OvenMediaEngine. Other services or software call this Pre-recorded Live or File Live, but OvenMediaEngine plans to expand the function to organize live channels as a source, so we named it Scheduled Channel.
ScheduledChannel can be controlled by API or file. For more information about ScheduledChannel, see below.
Scheduled ChannelThe body of the API all has the same structure as the ScheduledChannel schedule file.
Get all scheduled channels in the {vhost name}/{app name} application.
Request
Responses
Create a Scheduled channel.
Request
Responses
Update the schedule. <Stream> cannot be PATCHed.
Request
Responses
Get detailed information of scheduled channel. It also provides information about the currently playing program and item.
Request
Responses
Delete Scheduled Channel
Request
Responses
Write the value you want to modify. However, name and outputProfiles cannot be modified.
Content-Type: application/jsonAuthorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>{
"message": "OK",
"response": [
"stream"
],
"statusCode": 200
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code
# response
Json array containing a list of stream namesWWW-Authenticate: Basic realm=”OvenMediaEngine”{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}Content-Type: application/json{
"statusCode": 404,
"message": "Could not find the application: [default/non-exists] (404)"
}Authorization: Basic {credentials}
Content-Type: application/json
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>{
"stream": {
"name": "stream2",
"bypassTranscoder": false,
"videoTrack": true,
"audioTrack": true
},
"fallbackProgram": {
"items": [
{
"url": "file://video/sample.mp4",
"start": 0,
"duration": 60000
}
]
},
"programs": [
{
"name": "1",
"scheduled": "2023-11-13T20:57:00.000+09",
"repeat": true,
"items": [
{
"url": "file://video/sample.mp4",
"start": 0,
"duration": 60000
},
{
"url": "file://video/1.mp4",
"start": 0,
"duration": 60000
}
]
},
{
"name": "2",
"scheduled": "2023-11-14T20:57:00.000+09",
"repeat": true,
"items": [
{
"url": "file://1.mp4",
"start": 0,
"duration": 60000
},
{
"url": "file://sample.mp4",
"start": 0,
"duration": 60000
}
]
}
]
}Content-Type: application/json{
"message": "Created",
"statusCode": 201
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response codeWWW-Authenticate: Basic realm=”OvenMediaEngine”{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}{
"statusCode": 404,
"message": "Could not find the application: [default/non-exists] (404)"
}Authorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>Content-Type: application/json{
"message": "[HTTP] Cannot change [name] using this API (400)",
"statusCode": 400
}WWW-Authenticate: Basic realm=”OvenMediaEngine”{
"message": "[HTTP] Could not find the application: [default/app2] (404)",
"statusCode": 404
}Authorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>Content-Type: application/json{
"message": "OK",
"response": {
"currentProgram": {
"currentItem": {
"currentPosition": 1700,
"duration": 60000,
"start": 0,
"url": "file://video/1.mp4"
},
"duration": -1,
"end": "2262-04-12T08:47:16.854+09:00",
"name": "2",
"repeat": true,
"scheduled": "2023-11-20T20:57:00.000+09:00",
"state": "onair"
},
"fallbackProgram": {
"items": [
{
"duration": -1,
"start": 0,
"url": "file://hevc.mov"
},
{
"duration": -1,
"start": 0,
"url": "file://avc.mov"
}
],
"name": "fallback",
"repeat": true,
"scheduled": "1970-01-01T00:00:00Z"
},
"programs": [
{
"name": "2",
"repeat": true,
"scheduled": "2023-11-20T20:57:00.000+09"
}
],
"stream": {
"audioTrack": true,
"bypassTranscoder": false,
"name": "stream",
"videoTrack": true
}
},
"statusCode": 200
}WWW-Authenticate: Basic realm=”OvenMediaEngine”{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}Content-Type: application/json{
"statusCode": 404,
"message": "Could not find the application or stream (404)"
}Authorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>Content-Type: application/json{
"statusCode": 200,
"message": "OK",
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response codeWWW-Authenticate: Basic realm=”OvenMediaEngine”{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}Content-Type: application/json{
"message": "[HTTP] Could not find the stream: [default/#default#app/stream] (404)",
"statusCode": 404
}{
"fallbackProgram": {
"items": [
{
"url": "file://video/sample.mp4",
"start": 5000,
"duration": 30000
}
]
},
"programs": [
{
"name": "1",
"scheduled": "2023-11-10T20:57:00.000+09",
"repeat": true,
"items": [
{
"url": "file://video/1.mp4",
"start": 0,
"duration": 60000
}
]
},
{
"name": "2",
"scheduled": "2023-11-20T20:57:00.000+09",
"repeat": true,
"items": [
{
"url": "file://video/1.mp4",
"start": 0,
"duration": 60000
},
{
"url": "file://video/sample.mp4",
"start": 0,
"duration": 60000
}
]
}
]
}{
"message": "Created",
"statusCode": 201
}{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}