Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Type
Description
Examples
Short
16bits integer
12345
Int
32bits integer
1234941932
Long
64bits integer
391859818923919232311
Float
64bits real number
3.5483
String
A string
"Hello"
Bool
true/false
true
Timestamp (String)
A timestamp in ISO8601 format
"2021-01-01T11:00:00.000+09:00"
TimeInterval (Long)
A time interval (unit: milliseconds)
349820
IP (String)
IP address
"127.0.0.1"
RangedPort (String)
Port numbers with range (it can contain multiple ports and protocols)
start_port[-end_port][,start_port[-end_port][,start_port[-end_port]...]][/protocol]
"40000-40005/tcp"
"40000-40005"
"40000-40005,10000,20000/tcp"
Port (String)
A port number
start_port[/protocol]
"1935/tcp"
"1935"
ApplicationType
>Application type
Examples
"live"
"vod"
Codec
>Codecs
Examples
"h264"
"h265"
"vp8"
"opus"
"aac"
StreamSourceType
>A type of input stream
Examples
"Ovt"
"Rtmp"
"Rtspc"
"RtspPull"
"MpegTs"
MediaType
>type
Examples
"video"
"audio"
SessionState
>A state of the session
Examples
"Ready"
"Started"
"Stopping"
"Stopped"
"Error"
AudioLayout
>Audio layout
Examples
"stereo"
"mono"
POST
http://<OME_HOST>:<API_PORT>/v1/vhosts
Creates VirtualHost
s
Request Example:
POST http://1.2.3.4:8081/v1/vhosts
[ { "name": "default" } ]
Return type: Response<VirtualHost>
GET
http://<OME_HOST>:<API_PORT>/v1/vhosts
Lists all virtual host names
Request Example:
GET http://1.2.3.4:8081/v1/vhosts
Return type: Response<List>
GET
http://<OME_HOST>:<API_PORT>/v1/vhosts/{vhost_name}
Gets the configuration of the VirtualHost
Request Example:
GET http://1.2.3.4:8081/v1/vhosts/default
GET
http://<OME_HOST>:<API_PORT>/v1/vhosts/{vhost_name}/apps/{app_name}/streams
Lists all stream names in the Application
Request Example:
GET http://1.2.3.4:8081/v1/vhosts/default/apps/app/streams
GET
http://<OME_HOST>:<API_PORT>/v1/vhosts/{vhost_name}/apps/{app_name}/streams/{stream_name}
Gets the configuration of the Stream
Request Example:
GET http://1.2.3.4:8081/v1/vhosts/default/apps/app/streams/stream
POST
http://<OME_HOST>:<API_PORT>/v1/vhosts/{vhost_name}/apps/{app_name}/outputProfiles
Creates OutputProfile
s in the Application
Request Example:
POST http://1.2.3.4:8081/v1/vhosts/default/apps/app/outputProfiles
[
{
"name": "bypass_profile",
"outputStreamName": "${OriginStreamName}",
"encodes": {
"videos": [
{
"bypass": true
}
],
"audios": [
{
"bypass": true
}
]
}
}
]
GET
http://<OME_HOST>:<API_PORT>/v1/vhosts/{vhost_name}/apps/{app_name}/outputProfiles
Lists all output profile names in the Application
Request Example:
GET http://1.2.3.4:8081/v1/vhosts/default/apps/app/outputProfiles
GET
http://<OME_HOST>:<API_PORT>/v1/vhosts/{vhost_name}/apps/{app_name}/outputProfiles/{profile_name}
Gets the configuration of the OutputProfile
Request Example:
GET http://1.2.3.4:8081/v1/vhosts/default/apps/app/outputProfiles/bypass_profile
PUT
http://<OME_HOST>:<API_PORT>/v1/vhosts/{vhost_name}/apps/{app_name}/outputProfiles/{profile_name}
Changes the configuration of the OutputProfile
Request Example:
PUT http://1.2.3.4:8081/v1/vhosts/default/apps/app/outputProfiles/bypass_profile
{
"outputStreamName": "${OriginStreamName}",
"encodes": {
"videos": [
{
"codec": "h264",
"bitrate": "3M",
"width": 1280,
"height": 720,
"framerate": 30
}
],
"audios": [
{
"bypass": true
}
]
}
}
DELETE
http://<OME_HOST>:<API_PORT>/v1/vhosts/{vhost_name}/apps/{app_name}/outputProfiles/{profile_name}
Deletes the OutputProfile
Request Example:
DELETE http://1.2.3.4:8081/v1/vhosts/default/apps/app/outputProfiles/bypass_profile
POST
http://<OME_HOST>:<API_PORT>/v1/vhosts/{vhost_name}/apps/{app_name}:startRecord
This API performs a recording start request operation. for recording, the output stream name must be specified. file path, information path, recording interval and schedule parameters can be specified as options.
Request Example:
POST http://1.2.3.4:8081/v1/vhosts/default/apps/app:startRecord
{
"id": "custom_id",
"stream": {
"name": "stream_o",
"tracks": [ 100, 200 ]
},
"filePath" : "/path/to/save/recorded/file_${Sequence}.ts",
"infoPath" : "/path/to/save/information/file.xml",
"interval" : 60000, # Split it every 60 seconds
"schedule" : "0 0 */1" # Split it at second 0, minute 0, every hours.
"segmentationRule" : "continuity"
}
POST
http://<OME_HOST>:<API_PORT>/v1/vhosts/{vhost_name}/apps/{app_name}:stopRecord
This API performs a recording stop request.
Request Example:
POST http://1.2.3.4:8081/v1/vhosts/default/apps/app:stopRecord
{
"id": "custom_id"
}
POST
http://<OME_HOST>:<API_PORT>/v1/vhosts/{vhost_name}/apps/{app_name}:records
This API performs a query of the job being recorded. Provides job inquiry function for all or custom Id.
Request Example:
POST http://1.2.3.4:8081/v1/vhosts/default/apps/app:records
{
"id" : "custom_id"
}
POST
http://<OME_HOST>:<API_PORT>/v1/vhosts/{vhost_name}/apps
Creates Application
s in the VirtualHost
Request Example:
POST http://1.2.3.4:8081/v1/vhosts/default/apps
[ { "name": "app", "type": "live", "outputProfiles": { "outputProfile": [ { "name": "bypass_profile", "outputStreamName": "${OriginStreamName}", "encodes": { "videos": [ { "bypass": true } ], "audios": [ { "bypass": true } ] } } ] } ]
GET
http://<OME_HOST>:<API_PORT>/v1/vhosts/{vhost_name}/apps
Lists all application names in the VirtualHost
Request Example:
GET http://1.2.3.4:8081/v1/vhosts/default/apps
GET
http://<OME_HOST>:<API_PORT>/v1/vhosts/{vhost_name}/apps/{app_name}
Gets the configuration of the Application
Request Example:
GET http://1.2.3.4:8081/v1/vhosts/default/apps/app
PUT
http://<OME_HOST>:<API_PORT>/v1/vhosts/{vhost_name}/apps/{app_name}
Changes the configuration of the Application
Request Example:
PUT http://1.2.3.4:8081/v1/vhosts/default/apps/app
{
"type": "live"
}
DELETE
http://<OME_HOST>:<API_PORT>/v1/vhosts/{vhost_name}/apps/{app_name}
Deletes the Application
Request Example:
DELETE http://1.2.3.4:8081/v1/vhosts/default/apps/app
[TYPE]
>Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
Name | Type | Description |
---|
authorization
string
A string for authentication in Basic Base64(AccessToken)
format.
For example, Basic b21lLWFjY2Vzcy10b2tlbg==
if access token is ome-access-token
.
(json body)*
array
A list of VirtualHost
authorization
string
A string for authentication in Basic Base64(AccessToken)
format.
For example, Basic b21lLWFjY2Vzcy10b2tlbg==
if access token is ome-access-token
.
vhost_name
string
A name of VirtualHost
authorization
string
A string for authentication in Basic Base64(AccessToken)
format.
For example, Basic b21lLWFjY2Vzcy10b2tlbg==
if access token is ome-access-token
.
vhost_name | string | A name of |
app_name | string | A name of |
authorization | string | A string for authentication in |
vhost_name | string | A name of |
app_name | string | A name of |
stream_name | string | A name of |
authorization | string | A string for authentication in |
vhost_name | string | A name of |
app_name | string | A name of |
authorization | string | A string for authentication in |
(json body) | array | List< |
vhost_name | string | A name of |
app_name | string | A name of |
authorization | string | A string for authentication in |
vhost_name | string | A name of |
app_name | string | A name of |
profile_name | string | A name of |
authorization | string | A string for authentication in |
vhost_name | string | A name of |
app_name | string | A name of |
profile_name | string | A name of |
authorization | string | A string for authentication in |
(json body) | object |
|
vhost_name | string | A name of |
app_name | string | A name of |
profile_name | string | A name of |
authorization | string | A string for authentication in |
vhost_name | string | A name of |
app_name | string | A name of |
authorization | string | A string for authentication in |
segmentationRule | string | Define the policy for continuously or discontinuously generating timestamp in divided recorded files. - continuity - discontinuity (default) |
id | string | An unique identifier for recording job. |
stream | string | Output stream. |
name | string | Output stream name. |
tracks | array | Default is all tracks. It is possible to record only a specific track using the track Id. - default is all tracks |
schedule | string | Schedule based split recording. set only <second minute hour> using crontab method. It cannot be used simultaneously with interval. |
interval | number | Interval based split recording. It cannot be used simultaneously with schedule. |
filePath | string | Set the path of the file to be recorded. same as setting macro pattern in Config file. |
infoPath | string | Set the path to the information file to be recorded. same as setting macro pattern in Config file. |
vhost_name | string | A name of |
app_name | string | A name of |
authorization | string | A string for authentication in |
id | string | An unique identifier for recording job. |
vhost_name | string | A name of |
app_name | string | A name of |
authorization | string | A string for authentication in |
id | string | An unique identifier for recording job. If no value is specified, the entire recording job is requested. |
vhost_name | string | A name of |
authorization | string | A string for authentication in |
(json body) | array | A list of |
vhost_name | string | A name of VirtualHost |
authorization | string | A string for authentication in |
vhost_name | string | A name of |
app_name | string | A name of |
authorization | string | A string for authentication in |
vhost_name | string | A name of |
app_name | string | A name of |
authorization | string | A string for authentication in |
(json body) | object |
|
vhost_name | string | A name of |
app_name | string | A name of |
authorization | string | A string for authentication in |
Type | Name | Optional | Description | Examples |
Int | statusCode | N | Status code |
|
String | message | N | A message describing the value returned |
|
| response | Y | A response data |
|
Type | Name | Optional | Description | Examples |
String | name | N | A name of Virtual Host |
|
| td | Y | Host |
|
| signedPolicy | Y | SignedPolicy |
|
| signedToken | Y | SignedToken |
|
List< | td | Y | A list of Origin map |
|
Type | Name | Optional | Description | Examples |
List<String> | td | N | A list of hosts |
|
Tls | td | Y | TLS |
|
Type | Name | Optional | Description | Examples |
String | certPath | N | A path of cert file |
|
String | keyPath | N | A path of private key file |
|
String | chainCertPath | Y | A path of chain cert file |
|
Type | Name | Optional | Description | Examples |
String | policyQueryKey | N |
String | signatureQueryKey | N |
String | secretKey | N |
Type | Name | Optional | Description | Examples |
String | cryptoKey | N |
String | queryStringKey | N |
Type | Name | Optional | Description | Examples |
String | location | N | A pattern to map origin |
|
| pass | N | What to request with Origin if the pattern matches |
|
Type | Name | Optional | Description | Examples |
String | scheme | N | Scheme to distinguish the provider |
|
List<String> | urls | N | An address list to pull from provider |
|
Type | Name | Optional | Description | Examples |
String | name | N | App name (You cannot change this value after you create it) |
|
Bool | dynamic | N | Whether the app was created using |
|
Enum< | type | N | App type |
|
| providers | Y | A list of |
|
| publishers | Y | A list of |
|
List< | outputProfiles | Y | A list of |
|
Type | Name | Optional | Description | Examples |
| rtmp | Y |
|
| rtspPull | Y |
|
| rtsp | Y |
|
| ovt | Y |
|
| mpegts | Y |
|
Type | Name | Optional | Description | Examples |
(Reserved for future use) | - | - | - |
Type | Name | Optional | Description | Examples |
(Reserved for future use) | - | - | - |
Type | Name | Optional | Description | Examples |
(Reserved for future use) | - | - | - |
Type | Name | Optional | Description | Examples |
(Reserved for future use) | - | - | - |
Type | Name | Optional | Description | Examples |
List< | streams | Y | MPEG-TS Stream map |
|
Type | Name | Optional | Description | Examples |
String | name | N | A name to generate when MPEG-TS stream is received |
|
| port | Y | MPEG-TS Port |
|
Type | Name | Optional | Description | Examples |
Int | threadCount | N | Number of threads |
|
| rtmpPush | Y |
|
| hls | Y |
|
| dash | Y |
|
| llDash | Y |
|
| webrtc | Y |
|
| ovt | Y |
|
| file | Y |
|
| thumbnail | Y |
|
Type | Name | Optional | Description | Examples |
(Reserved for future use) | - | - | - |
Type | Name | Optional | Description | Examples |
Int | segmentCount | N | Segment count in the playlist.m3u8 |
|
Int | segmentDuration | N | Segment duration (unit: seconds) |
|
List<String> | crossDomains | Y | Cross domain URLs |
|
Type | Name | Optional | Description | Examples |
Int | segmentCount | N | Segment count in the manifest.mpd |
|
Int | segmentDuration | N | Segment duration (unit: seconds) |
|
List<String> | crossDomains | Y | Cross domain URLs |
|
Type | Name | Optional | Description | Examples |
Int | segmentDuration | N | Segment duration (unit: seconds) |
|
List<String> | crossDomains | Y | Cross domain URLs |
|
Type | Name | Optional | Description | Examples |
| timeout | Y | ICE timeout (unit: seconds) |
|
Type | Name | Optional | Description | Examples |
(Reserved for future use) | - | - | - |
Type | Name | Optional | Description | Examples |
String | filePath | Y | A path to store recorded file
You can use the following macros:
|
|
String | fileInfoPath | Y | A path of recorded files |
|
Type | Name | Optional | Description | Examples |
List<String> | crossDomains | Y | Cross domain URLs |
|
Type | Name | Optional | Description | Examples |
String | name | N | A name of |
|
String | outputStreamName | N | A name of output stream |
|
| encodes | Y |
|
Type | Name | Optional | Description | Examples |
List< | videos | Y |
|
List< | audios | Y |
|
List< | images | Y |
|
Type | Name | Optional | Description | Examples |
Bool | bypass | Y |
|
Enum< | codec | Conditional | Video codec |
|
Int | width | Conditional |
|
Int | height | Conditional |
|
String | bitrate | Conditional | bitrate (You can use "K" or "M" suffix like |
|
Float | framerate | Conditional |
|
Type | Name | Optional | Description | Examples |
Bool | bypass | Y |
|
Enum< | codec | Conditional | Audio codec |
|
Int | samplerate | Conditional |
|
Int | channel | Conditional |
|
String | bitrate | Conditional | bitrate (You can use "K" or "M" suffix like |
|
Type | Name | Optional | Description | Examples |
Enum< | codec | N |
|
Int | width | Conditional |
|
Int | height | Conditional |
|
Float | framerate | N | An interval of image creation |
|
Type | Name | Optional | Description | Examples |
String | name | N | A name of stream |
|
| input | N | An information of input stream |
|
List< | outputs | N | An information of output streams |
|
Type | Name | Optional | Description | Examples |
String | name | N | A name of stream to create |
|
| pull | Y | pull |
|
| mpegts | Y | Creates a |
|
Type | Name | Optional | Description | Examples |
String | url | N | URL to pull |
|
Type | Name | Optional | Description | Examples |
String | agent | Y | A name of broadcast tool |
|
String | from | N | URI stream created |
|
String | to | Y | URI represents connection with the input |
|
List< | tracks | N | A list of tracks in input stream |
|
| createdTime | N | Creation time |
|
Type | Name | Optional | Description | Examples |
String | name | N | An name of |
|
List< | tracks | N | A list of tracks in |
|
Type | Name | Optional | Description | Examples |
Enum< | type | Y | Media type |
|
| video | Conditional | A configuration of video encoding |
|
| audio | Conditional | A configuration of audio encoding |
|
Type | Name | Optional | Description | Examples |
(Extends | - | - |
| timebase | Y | Timebase |
|
Type | Name | Optional | Description | Examples |
Int | num | N | Numerator |
|
Int | den | N | Denominator |
|
Type | Name | Optional | Description | Examples |
(Extends | - | - |
|
| timebase | Y | Timebase |
|
Type | Name | Optional | Description | Examples |
String | id | Y | Unique identifier |
| streams | N | A combination of output stream's track name and track id |
Enum< | state | N | Record state |
String | filePath | N | A path of recorded files |
String | fileInfoPath | N | A path of recorded file informations |
String | recordedBytes | N | Recorded bytes |
Int | recordedTime | N | Recorded time |
| startTime | N | Started time |
| finishTime | N | Finished time |
Int | bitrate | N | Average bitrate |
Type | Name | Optional | Description | Examples |
String | id | N | Unique identifier |
| stream | Y | A combination of output stream's track name and track id |
Enum< | protocol | Y | Protocol of input stream |
String | url | Y | Destination URL |
String | streamKey | Conditional | Stream key of destination |
Enum< | state | N | Push state |
Int | sentBytes | N | Sent bytes |
Int | sentPackets | N | Sent packets count |
Int | sentErrorBytes | N | Error bytes |
Int | sentErrorPackets | N | Error packets count |
Int | reconnect | N | Reconnect count |
| startTime | N | Started time |
| finishTime | N | Finished time |
Int | bitrate | N | Average bitrate |
Type | Name | Optional | Description | Examples |
| createdTime | N | Creation time |
|
| lastUpdatedTime | N | Modified time |
|
Long | totalBytesIn | N | Received bytes |
|
Long | totalBytesOut | N | Sent bytes |
|
Int | totalConnections | N | Current connections |
|
Int | maxTotalConnections | N | Max connections since the stream is created |
|
| maxTotalConnectionTime | N | When the maximum number of concurrent connections has been updated. |
|
| lastRecvTime | N | Last time data was received |
|
| lastSentTime | N | Last time data was sent |
|
Type | Name | Optional | Description | Examples |
(Extends | - | - | Includes all fields of |
| requestTimeToOrigin | Y | A elapsed time to connect to Origin |
|
| responseTimeFromOrigin | Y | A elapsed time from Origin to respond |
|
GET
http://<OME_HOST>:<API_PORT>/v1/stats/current/vhosts/{vhost_name}
Usage statistics of the VirtualHost
Request Example:
GET http://1.2.3.4:8081/v1/stats/current/vhosts/default
GET
http://<OME_HOST>:<API_PORT>/v1/stats/current/vhosts/{vhost_name}/apps/{app_name}
Usage statistics of the Application
Request Example:
GET http://1.2.3.4:8081/v1/stats/current/vhosts/default/apps/app
GET
http://<OME_HOST>:<API_PORT>/v1/stats/current/vhosts/{vhost_name}/apps/{app_name}/streams/{stream}
Usage statistics of the Stream
Request Example:
GET http://1.2.3.4:8081/v1/stats/current/vhosts/default/apps/app/streams/{stream}
POST
http://<OME_HOST>:<API_PORT>/v1/vhosts/{vhost_name}/apps/{app_name}:startPush
This is an action to request a push of a selected stream. Please refer to the "Push" document for detail setting.
\
\
Request Example:
\
POST http://1.2.3.4:8081/v1/vhosts/default/apps/app:startPush
\
{
\
"id": "{UserDefinedUniqueId}",
\
"stream": {
\
"name": "output_stream_name",
\
"tracks": [ 101, 102 ]
\
},
\
"protocol": "rtmp",
\
"url":"rtmp://{host}[:port]/{appName}",
\
"streamKey":"{streamName}"
\
}
POST http://1.2.3.4:8081/v1/vhosts/default/apps/app:startPush
\
{
\
"id": "{UserDefinedUniqueId}",
\
"stream": {
\
"name": "output_stream_name",
\
"tracks": [ 101, 102 ]
\
},
\
"protocol": "mpegts",
\
"url":"udp://{host}[:port]",
\
"streamKey":""
\
}
POST
http://<OME_HOST>:<API_PORT>/v1/vhosts/{vhost_name}/apps/{app_name}:stopPush
Request to stop pushing
\
\
Request Example:
\
POST http://1.2.3.4:8081/v1/vhosts/default/apps/app:stopRecord
\
``
\
{
\
"id": "{userDefinedUniqueId}"
\
}
POST
http://<OME_HOST>:<API_PORT>/v1/vhosts/{vhost_name}/apps/{app_name}:pushes
Get all push lists for a specific application
\
\
Request Example:
\
POST http://1.2.3.4:8081/v1/vhosts/default/apps/app:pushes
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
vhost_name
string
A name of VirtualHost
access_token
string
A token for authentication
vhost_name
string
A name of VirtualHost
app_name
string
A name of Application
access_token
string
A token for authentication
vhost_name
string
A name of VirtualHost
app_name
string
A name of Application
stream_name
string
A name of Stream
access_token
string
A token for authentication
vhost_name*
string
A name of
VirtualHost
app_name*
string
A name of
Application
authorization*
string
A string for authentication in Basic Base64(AccessToken)
format.
For example, Basic b21lLWFjY2Vzcy10b2tlbg==
if access token is ome-access-token
id*
string
Unique identifier for push management. if there is no value, automatically created and returned
stream*
string
Output stream for push
name*
string
Output stream name
tracks
string
Track id for want to push, if there is no value, all tracks are push
protocol*
string
Transport protocol [rtmp | mpegts]
url*
string
Destination URL
streamKey*
object
Destination stream key
vhost_name*
string
A name of
VirtualHost
app_name*
string
A name of
Application
authorization*
string
A string for authentication in Basic Base64(AccessToken)
format.
For example, Basic b21lLWFjY2Vzcy10b2tlbg==
if access token is ome-access-token
.
id*
string
Unique identifier for push management
vhost_name*
string
A name of
VirtualHost
app_name*
string
A name of
Application
authorization*
string
A string for authentication in
Basic Base64(AccessToken)
format.
\
For example,
Basic b21lLWFjY2Vzcy10b2tlbg==
if access token is
ome-access-token
.