Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Batch reload certificates of all Virtual Hosts. In case of failure, the existing certificate will continue to be used.
Request
Responses
Reload the certificate of the specified Virtual Hosts. In case of failure, the existing certificate will continue to be used.
Request
Responses
Content-Type: application/jsonAuthorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>{
"message": "OK",
"statusCode": 200
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response codeAuthorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>Content-Type: application/json{
"message": "OK",
"statusCode": 200
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response codeFor live streaming of certain events, it may be necessary to immediately stop the HLS live stream and switch to VoD after the HLS live broadcast ends. This API transitions to VoD by stopping segment updates for LL-HLS and HLS streams and inserting #EXT-X-ENDLIST. By using this API with a Scheduled Channel, you can implement additional application services.
Request
Responses
Content-Type: application/jsonAuthorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>{}WWW-Authenticate: Basic realm=”OvenMediaEngine”{
"statusCode": 200,
"message": "OK",
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}{
"statusCode": 404,
"message": "Could not find the application: [default/non-exists] (404)"
}Add an Output Profile to the Application. If this request succeeds, the application will be restarted.
Delete output profile settings. If this request succeeds, the Application will be restarted.
Using this API, you can insert subtitles into a stream in real time. By specifying the label of the subtitle track defined in the application config, you can insert multiple subtitles at once.
Request
Responses
Authorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>Content-Type: application/jsonContent-Type: application/jsonWWW-Authenticate: Basic realm=”OvenMediaEngine”{
"message": "[HTTP] Could not find the application: [vhost/app1] (404)",
"statusCode": 404
}Authorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>Content-Type: application/jsonWWW-Authenticate: Basic realm=”OvenMediaEngine”{
"message": "[HTTP] Could not find the application: [vhost/app1] (404)",
"statusCode": 404
}Authorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>Content-Type: application/jsonWWW-Authenticate: Basic realm=”OvenMediaEngine”{
"message": "[HTTP] Could not find the application: [vhost/app1] (404)",
"statusCode": 404
}{
"statusCode": 200,
"message": "OK",
"response": [
"default",
"audio_only"
]
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code
# response
Json array containing a list of output profile names{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}Content-Type: application/jsonAuthorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>{
"eventFormat": "id3v2",
"eventType": "video",
"events":[
{
"frameType": "TXXX",
"info": "AirenSoft",
"data": "OvenMediaEngine"
},
{
"frameType": "TIT2",
"data": "OvenMediaEngine 123"
}
]
}
# eventFormat
Currently only id3v2 is supported.
# eventType (Optional, Default : event)
Select one of event, video, and audio. event inserts an event into every track.
video inserts events only on tracks of video type.
audio inserts events only on tracks of audio type.
# events
It accepts only Json array format and can contain multiple events.
## frameType
Currently, only TXXX and T??? (Text Information Frames, e.g. TIT2) are supported.
## info
This field is used only in TXXX and is entered in the Description field of TXXX.
## data
If the frameType is TXXX, it is entered in the Value field,
and if the frameType is "T???", it is entered in the Information field.WWW-Authenticate: Basic realm=”OvenMediaEngine”{
"statusCode": 200,
"message": "OK",
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code
# response
Json array containing a list of stream names{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}Content-Type: application/jsonAuthorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>{
"format": "webvtt",
"data": [
{
"label": "Korean", // Required
"subtitles": [
{
"startOffset": 0, // Optional, current + offset
"durationMs": 3000, // Optional, default: 1000
"settings": "line:80%", // Optional
"text": "안녕 OvenMediaEngine의 자막" // Required
}
]
},
{
"label": "English", // Required
"subtitles": [
{
"startOffset": 0, // Optional, current + offset
"durationMs": 3000, // Optional, default: 1000
"settings": "line:80%", // Optional
"text": "Hello OvenMediaEngine Subtitles" // Required
}
]
}
]
}
# format: Currently only "webvtt" is supported.
# data: An array containing subtitle data grouped by label.
# label: The label of the subtitle track defined in the application config.
(Required)
# subtitles : An array of subtitle cues. You can insert multiple cues at once.
If the first cue has startOffset set to 0, it will be inserted immediately.
Each following cue will be inserted after the previous one finishes. (Required)
# startOffset: How long (in ms) from the current time to delay the start of the
subtitle. Negative values are not allowed. (Optional, default: 0)
# durationMs: How long (in ms) the subtitle will be displayed.
(Optional, default: 1000)
# settings: A WebVTT settings string to specify position or style of the
subtitle. (Optional)
# text: The actual subtitle text. (Required)WWW-Authenticate: Basic realm=”OvenMediaEngine”{
"statusCode": 200,
"message": "OK",
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code
# response
Json array containing a list of stream names{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}[
{
"name": "bypass_profile",
"outputStreamName": "${OriginStreamName}_bypass",
"encodes": {
"videos": [
{
"bypass": true
}
],
"audios": [
{
"bypass": true
}
]
}
}
]
# name (required)
The name of the output profile. cannot be duplicated
# outputStreamName (required)
The name of the output stream to be created through this profile.
# encodes (required)
encode profile list. It must have videos or audios, and must have at least one item.[
{
"statusCode": 200,
"message": "OK",
"response": {
"name": "bypass_profile",
"outputStreamName": "${OriginStreamName}_bypass",
"encodes": {
"audios": [],
"videos": [
{
"bypass": true
}
]
}
},
{
"statusCode": 200,
"message": "OK",
"response": {
...
}
}
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code
# response
Created output profile information[
{
"statusCode": 200,
"message": "OK",
"response": {
"name": "app",
"outputProfiles": {
...
"providers": {
"ovt": {},
"rtmp": {},
...
},
{
"statusCode": 409,
"message": "Conflict",
"response": {
...
}
}
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code
# response
Output profile information created when statusCode is 200{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}{
"statusCode": 200,
"message": "OK",
"response": {
"name": "bypass_profile2",
"outputStreamName": "${OriginStreamName}_bypass"
"encodes": {
"audios": [],
"videos": [
{
"bypass": true
}
]
}
}
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code
# response
Output Profile information{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}{
"message": "OK",
"statusCode": 200
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}{
"statusCode": 404,
"message": "Could not find the application: [default/non-exists] (404)"
}{
"statusCode": 404,
"message": "Could not find the application: [default/non-exists] (404)"
}Configure virtual hosts to be created in Json array format.
It responds with Json array for each request.
It responds with Json array for each request.
Content-Type: application/jsonAuthorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>WWW-Authenticate: Basic realm=”OvenMediaEngine”{
"statusCode": 200,
"message": "OK",
"response": [
"default",
"service",
"poc"
]
{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}Header
Authorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>Body : SRT
{
"id": "{unique_push_id}",
"stream": {
"name": "{output_stream_name}",
"variantNames": []
},
"protocol": "srt",
In SRT Push Publisher, only the caller connection mode is supported.
Body : RTMP
{
"id": "{unique_push_id}",
"stream": {
"name": "{output_stream_name}",
"variantNames": [ "h264_fhd", "aac" ]
},
Body : MPEG2-TS
{
"id": "{unique_push_id}",
"stream": {
"name": "{output_stream_name}",
"variantNames": []
},
"protocol": "mpegts",
Responses
Request
Responses
Request
Responses
The Push Publishing task has the state shown in the table below. You can get the state in the Start Push Publishing and Get Push Publishing State API response.
ready
Waiting for the stream to be created.
connecting
Connecting to destination
pushing
Connected and streaming
stopping
Disconnection / stop in progress
stopped
Push is disconnected / stopped
error
Push encountered an error
Start recording the stream. If the requested stream does not exist on the server, this recording task is reserved. And when the stream is created, it automatically starts recording.
Request
Responses
Request
Responses
Request
Responses
The Recording task has the state shown in the table below. You can get the state in the Start Recording and Get Recording State API response.
List all application names in the virtual host.
Request
Responses
Create application in the virtual host
Request
Responses
Request
Responses
Modify application settings. If this request succeeds, the Application will be restarted.
Request
Responses
Request
Responses
Authorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>Content-Type: application/jsonContent-Type: application/jsonWWW-Authenticate: Basic realm=”OvenMediaEngine”Authorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>Content-Type: application/jsonWWW-Authenticate: Basic realm=”OvenMediaEngine”{
"message": "[HTTP] Could not find the virtual host: [default1] (404)",
"statusCode": 404
}Authorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>Content-Type: application/jsonWWW-Authenticate: Basic realm=”OvenMediaEngine”{
"message": "[HTTP] Could not find the virtual host: [default1] (404)",
"statusCode": 404
}{
"message": "[HTTP] Internal Server Error (500)",
"statusCode": 500
}[
{
"name": "vhost",
"host": {
"names": [
"ome-dev.airensoft.com",
"prod.airensoft.com"
],
"tls": {
"certPath": "/etc/pki/airensoft.com/_airensoft_com.crt",
"chainCertPath": "/etc/pki/airensoft.com/_airensoft_com.ca-bundle",
"keyPath": "/etc/pki/airensoft.com/_airensoft_com.key"
}
},
"signedPolicy": {
"enables": {
"providers": "rtmp,webrtc,srt",
"publishers": "webrtc,llhls"
},
"policyQueryKeyName": "policy",
"secretKey": "aKq#1kj",
"signatureQueryKeyName": "signature"
},
"admissionWebhooks": {
"controlServerUrl": "https://control.server/admission",
"enables": {
"providers": "rtmp,webrtc,srt",
"publishers": "webrtc,llhls"
},
"secretKey": "",
"timeout": 3000
},
"origins": {
"origin": [
{
"location": "/app/rtsp",
"pass": {
"scheme": "rtsp",
"urls": {
"url": [
"rtsp.server:8554/ca-01"
]
}
}
}
]
},
"originMapStore": {
"originHostName": "ome-dev.airensoft.com",
"redisServer": {
"auth": "!@#ovenmediaengine",
"host": "redis.server:6379"
}
}
},
{
"name": "vhost2",
"host": {
"names": [
"ovenmediaengine.com"
],
"tls": {
"certPath": "/etc/pki/ovenmediaengine.com/_ovenmediaengine_com.crt",
"chainCertPath": "/etc/pki/ovenmediaengine.com/_ovenmediaengine_com.ca-bundle",
"keyPath": "/etc/pki/ovenmediaengine.com/_ovenmediaengine_com.key"
}
}
}
]
# name (required)
The virtual host name. Cannot be duplicated.
# host (required)
## names (required)
The addresses(IP or Domain)of the host.
## tls (optional)
The certificate file path. Required if using TLS.
# signedPolicy (optional)
The SignedPolicy setting. Please refer to the manual for details.
# admissionWebhooks (optional)
The AdmissionWebhooks setting. Please refer to the manual for details.
# origins (optional)
The Origins setting. Please refer to the manual for details.
# originMapStore (optional)
The OriginMapStore setting. Please refer to the manual for details.[
{
"message": "OK",
"statusCode": 200,
"response": {
"name": "enterprise",
"host": {
"names": [
"ome-dev.airensoft.com",
"prod.airensoft.com"
],
"tls": {
"certPath": "/etc/pki/airensoft.com/_airensoft_com.crt",
"chainCertPath": "/etc/pki/airensoft.com/_airensoft_com.ca-bundle",
"keyPath": "/etc/pki/airensoft.com/_airensoft_com.key"
}
},
"signedPolicy": {
"enables": {
"providers": "rtmp,webrtc,srt",
"publishers": "webrtc,llhls"
},
"policyQueryKeyName": "policy",
"secretKey": "aKq#1kj",
"signatureQueryKeyName": "signature"
},
"admissionWebhooks": {
"controlServerUrl": "https://control.server/admission",
"enables": {
"providers": "rtmp,webrtc,srt",
"publishers": "webrtc,llhls"
},
"secretKey": "",
"timeout": 3000
},
"origins": {
"origin": [
{
"location": "/app/rtsp",
"pass": {
"scheme": "rtsp",
"urls": {
"url": [
"rtsp.server:8554/ca-01"
]
}
}
}
]
},
"originMapStore": {
"originHostName": "ome-dev.airensoft.com",
"redisServer": {
"auth": "!@#ovenmediaengine",
"host": "redis.server:6379"
}
}
}
},
{
"message": "OK",
"statusCode": 200,
"response": {
"name": "free",
"host": {
"names": [
"ovenmediaengine.com"
],
"tls": {
"certPath": "/etc/pki/ovenmediaengine.com/_ovenmediaengine_com.crt",
"chainCertPath": "/etc/pki/ovenmediaengine.com/_ovenmediaengine_com.ca-bundle",
"keyPath": "/etc/pki/ovenmediaengine.com/_ovenmediaengine_com.key"
}
}
}
}
]
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code
# response
Created virtual host information[
{
"statusCode": 200,
"message": "OK",
"response": {
"name": "enterprise",
"host": {
"names": [
...
},
{
"statusCode": 409,
"message": "Conflict",
"response": {
...
}
}
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code
# response
Virtual host information created when statusCode is 200{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}
"message": "OK",
"statusCode": 200
"response": {
"name": "default",
"distribution": "ovenServer",
"host": {
"name": "default",
"distribution": "ovenServer",
"host": {
"names": [
"ome-dev.airensoft.com",
"*"
],
"tls": {
"certPath": "/etc/pki/airensoft.com/_airensoft_com.crt",
"chainCertPath": "/etc/pki/airensoft.com/_airensoft_com.ca-bundle",
"keyPath": "/etc/pki/airensoft.com/_airensoft_com.key"
}
},
"signedPolicy": {
"enables": {
"providers": "rtmp,webrtc,srt",
"publishers": "webrtc,llhls"
},
"policyQueryKeyName": "policy",
"secretKey": "aKq#1kj",
"signatureQueryKeyName": "signature"
},
"admissionWebhooks": {
"controlServerUrl": "https://control.server/admission",
"enables": {
"providers": "rtmp,webrtc,srt",
"publishers": "webrtc,llhls"
},
"secretKey": "",
"timeout": 3000
},
"origins": {
"origin": [
{
"location": "/app/rtsp",
"pass": {
"scheme": "rtsp",
"urls": {
"url": [
"rtsp.server:8554/ca-01"
]
}
}
}
]
},
"originMapStore": {
"originHostName": "ome-dev.airensoft.com",
"redisServer": {
"auth": "!@#ovenmediaengine",
"host": "redis.server:6379"
}
}
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code
# response
Virtual host information{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}{
"message": "OK",
"statusCode": 200
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}{
"message": "[HTTP] Could not find the application: [vhost/app1] (404)",
"statusCode": 404
}Authorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>{
"id": "{unique_push_id}"
}
# id (required)
unique ID to identify the push publishing taskContent-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
}{
"message": "[HTTP] Could not find the application: [vhost/app1] (404)",
"statusCode": 404
}Authorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>{
"id": "{unique_push_id}"
}
# id (optional)
unique ID to identify the push publishing task. If no id is given in the request, the full list is returned.Content-Type: application/json{
"statusCode": 200,
"message": "OK",
"response": [
{
"id": "{unique_push_id}",
"state": "started",
"vhost": "default",
"app": "app",
"stream": {
"name": "{output_stream_name}",
"trackIds": [],
"variantNames": []
},
"protocol": "rtmp",
"url": "rtmp://{host}[:port]/{app_name}",
"streamKey": "{stream_name}",
"sentBytes": 0,
"sentTime": 0,
"sequence": 0,
"totalsentBytes": 0,
"totalsentTime": 0,
"createdTime": "2023-03-15T23:02:34.371+09:00",
"startTime": "1970-01-01T09:00:00.000+09:00",
"finishTime": "1970-01-01T09:00:00.000+09:00"
},
{
"id": "4",
...
}
]
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code
# response
Information of recording tasks. If there is no recording task,
response with empty array ("response": [])WWW-Authenticate: Basic realm=”OvenMediaEngine”{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}{
"message": "[HTTP] Could not find the application: [vhost/app1] (404)",
"statusCode": 404
}Please note that responses are incorrectly returned in Json array format for version 0.15.3 and earlier.
The response is Json array format.
Ready
Preparing to start or waiting for the stream to be created.
Started
In Progress
Stopping
Is stopping
Stopped
Stopped
Error
Error
Content-Type: application/jsonAuthorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>WWW-Authenticate: Basic realm=”OvenMediaEngine” "id": "{unique_record_id}",
"stream": {
"name": "{output_stream_name}",
"variantNames": []
}
}
# id (required)
unique ID to identify the recording task
{
"id": "{unique_record_id}",
"stream": {
"name": "{output_stream_name}"
},
"interval": 60000,
"segmentationRule": "discontinuity"
{
"id": "{unique_record_id}",
"stream": {
"name": "{output_stream_name}"
},
"schedule" : "0 */1 *"
"segmentationRule": "continuity"
{
"id": "{unique_record_id}",
"stream": {
"name": "{output_stream_name}"
},
"filePath" : "/path/to/file_name.mp4"
"infoPath": "/path/to/file_name.xml"
{
"statusCode": 200,
"message": "OK",
"response": {
"id": "2",
"state": "ready",
{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}Configure applications to be created in Json array format.
It responds with Json array for each request.
It responds with Json array for each request.
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>WWW-Authenticate: Basic realm=”OvenMediaEngine”{
"message": "[HTTP] Could not find the virtual host: [default1] (404)",
"statusCode": 404
}{
"statusCode": 200,
"message": "OK",
"response": [
"app",
"app2",
"app3"
]
{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}The info file is continuously updated after the dump file is written. It is in XML format and is as follows. will continue to be added.
{
"message": "[HTTP] Could not find the application: [vhost/app1] (404)",
"statusCode": 404
}Authorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>Content-Type: application/jsonWWW-Authenticate: Basic realm=”OvenMediaEngine”{
"message": "[HTTP] Could not find the application: [vhost/app1] (404)",
"statusCode": 404
}Authorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>Content-Type: application/jsonWWW-Authenticate: Basic realm=”OvenMediaEngine”{
"message": "[HTTP] Could not find the application: [vhost/app1] (404)",
"statusCode": 404
}{
"id": "{unique_record_id}"
}
# id (required)
unique ID to identify the recording task{
"statusCode": 200,
"message": "OK",
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}{
"id": "{unique_record_id}"
}
# id (optional)
unique ID to identify the recording task. If no id is given in the request, the full list is returned.{
"statusCode": 200,
"message": "OK",
"response": [
{
"id": "2",
"state": "recording",
"vhost": "default",
"app": "app",
"stream": {
"name": "stream",
"trackIds": [],
"variantNames": []
},
"interval": 60000,
"segmentationRule": "discontinuity",
"createdTime": "2023-03-15T21:15:20.113+09:00",
},
{
"id": "3",
...
}
]
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code
# response
Information of recording tasks. If there is no recording task,
response with empty array ("response": []){
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}Authorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>Content-Type: application/jsonContent-Type: application/jsonWWW-Authenticate: Basic realm=”OvenMediaEngine”{
"message": "[HTTP] Could not find the virtual host: [default1] (404)",
"statusCode": 404
}Authorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>Content-Type: application/jsonWWW-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": "[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/jsonWWW-Authenticate: Basic realm=”OvenMediaEngine”{
"message": "[HTTP] Could not find the application: [default/app2] (404)",
"statusCode": 404
}{
"message": "[HTTP] Internal Server Error (500)",
"statusCode": 500
}[
{
"name": "app",
"type": "live",
"outputProfiles": {
"outputProfile": [
{
"name": "default",
"outputStreamName": "${OriginStreamName}",
"encodes": {
"audios": [
{
"name": "opus",
"codec": "opus",
"samplerate": 48000,
"bitrate": 128000,
"channel": 2,
"bypassIfMatch": {
"codec": "eq"
}
},
{
"name": "aac",
"codec": "aac",
"samplerate": 48000,
"bitrate": 128000,
"channel": 2,
"bypassIfMatch": {
"codec": "eq"
}
}
],
"videos": [
{
"name": "bypass_video",
"bypass": true
}
]
}
}
]
},
"providers": {
"ovt": {},
"rtmp": {},
"rtspPull": {},
"srt": {},
"webrtc": {}
},
"publishers": {
"llhls": {},
"ovt": {},
"webrtc": {}
}
}
]
# name (required)
Application name to create
# type (required)
live - currently only support live
# outputProfiles (optional)
Set OutputProfile for Transcoding. See the ABR and Transcoding chapter for more details. If no outputProfiles are present in the request, a default outputProfile as above is configured.
# providers (optional)
Configure providers. See the Live Source chapter for details. If providers are not present in the request, they are configured with default providers as above.
# publishers (optional)
Configure publishers. See the Streaming chapter for details. If publishers are not present in the request, they are configured with default publishers as above.[
{
"statusCode": 200,
"message": "OK",
"response": {
"name": "app",
"outputProfiles": {
...
"providers": {
"ovt": {},
"rtmp": {},
...
},
{
"statusCode": 200,
"message": "OK",
"response": {
...
}
}
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code
# response
Created application information[
{
"statusCode": 200,
"message": "OK",
"response": {
"name": "app",
"outputProfiles": {
...
"providers": {
"ovt": {},
"rtmp": {},
...
},
{
"statusCode": 409,
"message": "Conflict",
"response": {
...
}
}
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code
# response
Application information created when statusCode is 200{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}{
"statusCode": 200,
"message": "OK",
"response": {
"dynamic": false,
"name": "app",
"type": "live",
"outputProfiles": {
"outputProfile": [
{
"encodes": {
"audios": [
{
"bitrate": 128000,
"bypassIfMatch": {
"codec": "eq"
},
"channel": 2,
"codec": "opus",
"name": "opus",
"samplerate": 48000
},
{
"bitrate": 128000,
"bypassIfMatch": {
"codec": "eq"
},
"channel": 2,
"codec": "aac",
"name": "aac",
"samplerate": 48000
}
],
"videos": [
{
"bypass": true,
"name": "bypass_video"
}
]
},
"name": "bypass",
"outputStreamName": "${OriginStreamName}"
}
]
},
"providers": {
"ovt": {},
"rtmp": {},
"rtspPull": {},
"srt": {},
"webrtc": {}
},
"publishers": {
"llhls": {},
"ovt": {},
"webrtc": {}
}
}
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code
# response
Application information{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}{
"providers": {
"webrtc": {
"timeout": 60000
}
}
}{
"statusCode": 200,
"message": "OK",
"response": {
"dynamic": false,
"name": "app",
"type": "live",
"outputProfiles": {
"outputProfile": [
{
"encodes": {
"audios": [
{
"bitrate": 128000,
"bypassIfMatch": {
"codec": "eq"
},
"channel": 2,
"codec": "opus",
"name": "opus",
"samplerate": 48000
},
{
"bitrate": 128000,
"bypassIfMatch": {
"codec": "eq"
},
"channel": 2,
"codec": "aac",
"name": "aac",
"samplerate": 48000
}
],
"videos": [
{
"bypass": true,
"name": "bypass_video"
}
]
},
"name": "bypass",
"outputStreamName": "${OriginStreamName}"
}
]
},
"providers": {
"ovt": {},
"rtmp": {},
"rtspPull": {},
"srt": {},
"webrtc": {
"timeout": 60000
}
},
"publishers": {
"llhls": {},
"ovt": {},
"webrtc": {}
}
}
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code
# response
Mofified application information{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}{
"message": "OK",
"statusCode": 200
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}Content-Type: application/jsonAuthorization: Basic {credentials}
Content-Type: application/json
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>Content-Type: application/jsonWWW-Authenticate: Basic realm=”OvenMediaEngine”Content-Type: application/json<HLSDumpInfo>
<UserData>~~~</UserData>
<Stream>/default/app/stream</Stream>
<Status>Running | Completed | Error </Status>
<Items>
<Item>
<Seq>0</Seq>
<Time>~~~</Time>
<File>~~~</File>
</Item>
...
<Item>
<Seq>1</Seq>
<Time>~~~</Time>
<File>/tmp/abc/xxx/298182/chunklist_0_video_llhls.m3u8</File>
</Item>
...
<Item>
<Seq>2</Seq>
<Time>~~~</Time>
<File>chunklist_0_video_llhls.m3u8</File>
</Item>
</Items>
</HLSDumpInfo>{
"outputStreamName": "stream",
"id": "unique_dump_id",
"outputPath": "/tmp/",
"playlist" : ["llhls.m3u8", "abr.m3u8"],
"infoFile": "/home/abc/xxx/unique_info_file_name.info",
"userData": "access_key_id='AKIAXFOT7EWH3ZA4XXXX'"
}
# outputStreamName (required)
The name of the output stream created with OutputProfile.
# id (required)
ID for this API request.
# outputPath (required)
Directory path to output. The directory must be writable by the OME process.
OME will create the directory if it doesn't exist.
# playlist (optional)
Dump the master playlist set in outputPath. It must be entered
in Json array format, and multiple playlists can be specified.
# infoFile (optional)
This is the name of the DB file in which the information of the dumped files is
updated. If this value is not provided, no file is created. An error occurs
if a file with the same name exists. (More details below)
# userData (optional)
If infoFile is specified, this data is written to infoFile. Does not work
if infoFile is not specified.{
"statusCode": 200,
"message": "OK",
"response": [
"stream",
"stream2"
]
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code
# response
Json array containing a list of stream names{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}{
"statusCode": 404,
"message": "Could not find the application: [default/non-exists] (404)"
}{
"outputStreamName": "stream",
"id": "dump_id"
}
# outputStreamName (required)
The name of the output stream created with OutputProfile.
# id (optional)
This is the id passed when calling the startHlsDump API.
If id is not passed, all dump in progress at outputStreamName is aborted.{
"statusCode": 200,
"message": "OK",
"response": [
"stream",
"stream2"
]
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code
# response
Json array containing a list of stream names{
"message": "[HTTP] Authorization header is required to call API (401)",
"statusCode": 401
}{
"statusCode": 404,
"message": "Could not find the application: [default/non-exists] (404)"
}Using MultiplexChannel, you can combine multiple internal streams into one ABR stream, or duplicate the stream and send it to another application.
MultiplexChannel can be controlled by API or file. See below for more information about MultiplexChannel.
Multiplex ChannelThe body of the API all has the same structure as the mux file.
Get all multiplex channels in the {vhost name}/{app name} application.
Request
Responses
Create a multiplex channel.
Request
Responses
Get detailed information of multiplex channel. It also provides information about the currently playing program and item.
Request
Responses
Delete Multiplex Channel
Request
Responses
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>{
"outputStream": {
"name": "stream"
},
"sourceStreams": [
{
"name": "input1",
"url": "stream://default/app/input1",
"trackMap": [
{
"sourceTrackName": "bypass_video",
"newTrackName": "input1_video",
"bitrateConf": 5000000,
"framerateConf": 30
},
{
"sourceTrackName": "bypass_audio",
"newTrackName": "input1_audio",
"bitrateConf": 128000
}
]
},
{
"name": "input2",
"url": "stream://default/app/input2",
"trackMap": [
{
"sourceTrackName": "bypass_video",
"newTrackName": "input2_video",
"bitrateConf": 1000000,
"framerateConf": 30
},
{
"sourceTrackName": "bypass_audio",
"newTrackName": "input2_audio",
"bitrateConf": 128000
}
]
}
],
"playlists": [
{
"name": "LLHLS ABR",
"fileName": "abr",
"options": {
"webrtcAutoAbr": true,
"hlsChunklistPathDepth": 0
},
"renditions": [
{
"name": "input1",
"video": "input1_video",
"audio": "input1_audio"
},
{
"name": "input2",
"video": "input2_video",
"audio": "input2_audio"
}
]
}
]
}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": "OK",
"statusCode": 200,
"response": {
"state": "Pulling",
"pullingMessage": "Multiplex Channel : #default#app/stream: Wait for stream input1",
"outputStream": {
"name": "stream"
},
"playlists": [
{
"fileName": "abr",
"name": "LLHLS ABR",
"options": {
"hlsChunklistPathDepth": 0,
"webrtcAutoAbr": true
},
"renditions": [
{
"audio": "input1_audio",
"name": "input1",
"video": "input1_video"
},
{
"audio": "input2_audio",
"name": "input2",
"video": "input2_video"
}
]
}
],
"sourceStreams": [
{
"name": "input1",
"trackMap": [
{
"bitrateConf": 128000,
"newTrackName": "input1_audio",
"sourceTrackName": "bypass_audio"
},
{
"bitrateConf": 5000000,
"framerateConf": 30,
"newTrackName": "input1_video",
"sourceTrackName": "bypass_video"
}
],
"url": "stream://default/app/input1"
},
{
"name": "input2",
"trackMap": [
{
"bitrateConf": 128000,
"newTrackName": "input2_audio",
"sourceTrackName": "bypass_audio"
},
{
"bitrateConf": 1000000,
"framerateConf": 30,
"newTrackName": "input2_video",
"sourceTrackName": "bypass_video"
}
],
"url": "stream://default/app/input2"
}
]
}
}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
}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,
"audioMap": [ // Optional
{
"name": "english",
"language": "en",
"characteristics": "1"
},
{
"name": "Korean",
"language": "ko",
"characteristics": "2"
},
{
"name": "Japanese",
"language": "ja",
"characteristics": "3"
}
]
},
"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
}Header
Authorization: Basic {credentials}
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>Responses
Create a stream by pulling an external URL. External URL protocols currently support RTSP and OVT.
Request
Responses
Get detailed information of stream.
Request
Responses
Delete Stream. This terminates the ingress connection.
The sender can reconnect after the connection is terminated. To prevent reconnection, you must use AccessControl.
Request
Responses
Authorization: Basic {credentials}
Content-Type: application/json
# Authorization
Credentials for HTTP Basic Authentication created with <AccessToken>{
"name": "new_stream_name",
"urls": [
"rtsp://192.168.0.160:553/app/stream",
"url to pull the stream from - support OVT/RTSP",
"Only urls with the same scheme can be sent as a group."
],
"properties":{
"persistent": false,
"noInputFailoverTimeoutMs": 3000,
"unusedStreamDeletionTimeoutMs": 60000,
"ignoreRtcpSRTimestamp": false
}
}
# name (required)
Stream name to create
# urls (required)
A list of URLs to pull streams from, in Json array format.
All URLs must have the same scheme.
# properties (optional)
## persistent
Created as a persistent stream, not deleted until DELETE
## noInputFailoverTimeoutMs
If no data is input during this period, the stream is deleted,
but ignored if persistent is true
## unusedStreamDeletionTimeoutMs
If no data is output during this period (if there is no viewer),
the stream is deleted, but ignored if persistent is true
## ignoreRtcpSRTimestamp
No waits RTCP SR and start stream immediatelyContent-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{
"statusCode": 200,
"message": "OK",
"response": {
"input": {
"createdTime": "2021-01-11T03:45:21.879+09:00",
"sourceType": "Rtmp",
"tracks": [
{
"id": 0,
"type": "Video",
"video": {
"bitrate": "2500000",
"bypass": false,
"codec": "H264",
"framerate": 30.0,
"hasBframes": false,
"keyFrameInterval": 30,
"height": 720,
"width": 1280
}
},
{
"id": 1,
"audio": {
"bitrate": "128000",
"bypass": false,
"channel": 2,
"codec": "AAC",
"samplerate": 48000
},
"type": "Audio"
}
]
},
"name": "stream",
"outputs": [
{
"name": "stream",
"tracks": [
{
"id": 0,
"type": "Video",
"video": {
"bypass": true
}
},
{
"id": 1,
"audio": {
"bypass": true
},
"type": "Audio"
},
{
"id": 2,
"audio": {
"bitrate": "128000",
"bypass": false,
"channel": 2,
"codec": "OPUS",
"samplerate": 48000
},
"type": "Audio"
}
]
}
]
}
}
# statusCode
Same as HTTP Status Code
# message
A human-readable description of the response code
# response
Details of the streamkeyFrameInterval is GOP sizeWWW-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)"
}openapi: 3.0.0
info:
title: Stream API
version: 1.0.0
description: API for stream information
paths:
/stream:
get:
summary: Get stream information
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error401'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error404'
components:
schemas:
SuccessResponse:
type: object
required:
- statusCode
- message
- response
properties:
statusCode:
type: integer
message:
type: string
response:
type: object
required:
- name
- input
properties:
name:
type: string
input:
$ref: '#/components/schemas/Input'
outputs:
type: array
items:
$ref: '#/components/schemas/Output'
Error401:
type: object
required:
- statusCode
- message
properties:
statusCode:
type: integer
enum: [401]
message:
type: string
enum: ["[HTTP] Authorization header is required to call API (401)"]
Error404:
type: object
required:
- statusCode
- message
properties:
statusCode:
type: integer
enum: [404]
message:
type: string
enum: ["Could not find the application or stream (404)"]
VideoTrack:
type: object
required:
- id
- type
- video
properties:
id:
type: integer
name:
type: string
type:
type: string
enum:
- Video
video:
type: object
properties:
bitrate:
type: string
bitrateAvg:
type: string
bitrateConf:
type: string
bitrateLatest:
type: string
bypass:
type: boolean
codec:
type: string
deltaFramesSinceLastKeyFrame:
type: integer
framerate:
type: number
framerateAvg:
type: number
framerateConf:
type: number
framerateLatest:
type: number
hasBframes:
type: boolean
keyFrameInterval:
type: integer
keyFrameIntervalAvg:
type: number
keyFrameIntervalConf:
type: number
keyFrameIntervalLatest:
type: integer
height:
type: integer
width:
type: integer
AudioTrack:
type: object
required:
- id
- type
- audio
properties:
id:
type: integer
name:
type: string
type:
type: string
enum:
- Audio
audio:
type: object
properties:
bitrate:
type: string
bitrateAvg:
type: string
bitrateConf:
type: string
bitrateLatest:
type: string
bypass:
type: boolean
channel:
type: integer
codec:
type: string
samplerate:
type: integer
DataTrack:
type: object
required:
- id
- type
properties:
id:
type: integer
name:
type: string
type:
type: string
enum:
- Data
Track:
oneOf:
- $ref: '#/components/schemas/VideoTrack'
- $ref: '#/components/schemas/AudioTrack'
- $ref: '#/components/schemas/DataTrack'
discriminator:
propertyName: type
mapping:
Video: '#/components/schemas/VideoTrack'
Audio: '#/components/schemas/AudioTrack'
Data: '#/components/schemas/DataTrack'
Rendition:
type: object
required:
- name
properties:
name:
type: string
videoVariantName:
type: string
audioVariantName:
type: string
Playlist:
type: object
required:
- name
- fileName
- options
- renditions
properties:
name:
type: string
fileName:
type: string
options:
type: object
properties:
enableTsPackaging:
type: boolean
hlsChunklistPathDepth:
type: integer
webrtcAutoAbr:
type: boolean
renditions:
type: array
items:
$ref: '#/components/schemas/Rendition'
Output:
type: object
required:
- name
- tracks
properties:
name:
type: string
playlists:
type: array
items:
$ref: '#/components/schemas/Playlist'
tracks:
type: array
items:
$ref: '#/components/schemas/Track'
Input:
type: object
required:
- createdTime
- sourceType
- tracks
properties:
createdTime:
type: string
format: date-time
sourceType:
type: string
sourceUrl:
type: string
tracks:
type: array
items:
$ref: '#/components/schemas/Track'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
}