mirror of
https://github.com/datarhei/core.git
synced 2025-09-26 20:11:29 +08:00
3192 lines
79 KiB
YAML
3192 lines
79 KiB
YAML
basePath: /
|
|
definitions:
|
|
api.AVstream:
|
|
properties:
|
|
aqueue:
|
|
type: integer
|
|
drop:
|
|
type: integer
|
|
dup:
|
|
type: integer
|
|
duplicating:
|
|
type: boolean
|
|
enc:
|
|
type: integer
|
|
gop:
|
|
type: string
|
|
input:
|
|
$ref: '#/definitions/api.AVstreamIO'
|
|
looping:
|
|
type: boolean
|
|
output:
|
|
$ref: '#/definitions/api.AVstreamIO'
|
|
queue:
|
|
type: integer
|
|
type: object
|
|
api.AVstreamIO:
|
|
properties:
|
|
packet:
|
|
type: integer
|
|
size_kb:
|
|
type: integer
|
|
state:
|
|
enum:
|
|
- running
|
|
- idle
|
|
type: string
|
|
time:
|
|
type: integer
|
|
type: object
|
|
api.About:
|
|
properties:
|
|
app:
|
|
type: string
|
|
auths:
|
|
items:
|
|
type: string
|
|
type: array
|
|
created_at:
|
|
type: string
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
uptime_seconds:
|
|
type: integer
|
|
version:
|
|
$ref: '#/definitions/api.Version'
|
|
type: object
|
|
api.Command:
|
|
properties:
|
|
command:
|
|
enum:
|
|
- start
|
|
- stop
|
|
- restart
|
|
- reload
|
|
type: string
|
|
required:
|
|
- command
|
|
type: object
|
|
api.Config:
|
|
properties:
|
|
config:
|
|
$ref: '#/definitions/api.ConfigData'
|
|
created_at:
|
|
type: string
|
|
loaded_at:
|
|
type: string
|
|
overrides:
|
|
items:
|
|
type: string
|
|
type: array
|
|
updated_at:
|
|
type: string
|
|
type: object
|
|
api.ConfigData:
|
|
properties:
|
|
address:
|
|
type: string
|
|
api:
|
|
properties:
|
|
access:
|
|
properties:
|
|
http:
|
|
properties:
|
|
allow:
|
|
items:
|
|
type: string
|
|
type: array
|
|
block:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
https:
|
|
properties:
|
|
allow:
|
|
items:
|
|
type: string
|
|
type: array
|
|
block:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
type: object
|
|
auth:
|
|
properties:
|
|
auth0:
|
|
properties:
|
|
enable:
|
|
type: boolean
|
|
tenants:
|
|
items:
|
|
$ref: '#/definitions/config.Auth0Tenant'
|
|
type: array
|
|
type: object
|
|
disable_localhost:
|
|
type: boolean
|
|
enable:
|
|
type: boolean
|
|
jwt:
|
|
properties:
|
|
secret:
|
|
type: string
|
|
type: object
|
|
password:
|
|
type: string
|
|
username:
|
|
type: string
|
|
type: object
|
|
read_only:
|
|
type: boolean
|
|
type: object
|
|
created_at:
|
|
type: string
|
|
db:
|
|
properties:
|
|
dir:
|
|
type: string
|
|
type: object
|
|
debug:
|
|
properties:
|
|
force_gc:
|
|
type: integer
|
|
profiling:
|
|
type: boolean
|
|
type: object
|
|
ffmpeg:
|
|
properties:
|
|
access:
|
|
properties:
|
|
input:
|
|
properties:
|
|
allow:
|
|
items:
|
|
type: string
|
|
type: array
|
|
block:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
output:
|
|
properties:
|
|
allow:
|
|
items:
|
|
type: string
|
|
type: array
|
|
block:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
type: object
|
|
binary:
|
|
type: string
|
|
log:
|
|
properties:
|
|
max_history:
|
|
type: integer
|
|
max_lines:
|
|
type: integer
|
|
type: object
|
|
max_processes:
|
|
type: integer
|
|
type: object
|
|
host:
|
|
properties:
|
|
auto:
|
|
type: boolean
|
|
name:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
id:
|
|
type: string
|
|
log:
|
|
properties:
|
|
level:
|
|
enum:
|
|
- debug
|
|
- info
|
|
- warn
|
|
- error
|
|
- silent
|
|
type: string
|
|
max_lines:
|
|
type: integer
|
|
topics:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
metrics:
|
|
properties:
|
|
enable:
|
|
type: boolean
|
|
enable_prometheus:
|
|
type: boolean
|
|
interval_sec:
|
|
description: seconds
|
|
type: integer
|
|
range_sec:
|
|
description: seconds
|
|
type: integer
|
|
type: object
|
|
name:
|
|
type: string
|
|
playout:
|
|
properties:
|
|
enable:
|
|
type: boolean
|
|
max_port:
|
|
type: integer
|
|
min_port:
|
|
type: integer
|
|
type: object
|
|
router:
|
|
properties:
|
|
blocked_prefixes:
|
|
items:
|
|
type: string
|
|
type: array
|
|
routes:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
ui_path:
|
|
type: string
|
|
type: object
|
|
rtmp:
|
|
properties:
|
|
address:
|
|
type: string
|
|
address_tls:
|
|
type: string
|
|
app:
|
|
type: string
|
|
enable:
|
|
type: boolean
|
|
enable_tls:
|
|
type: boolean
|
|
token:
|
|
type: string
|
|
type: object
|
|
service:
|
|
properties:
|
|
enable:
|
|
type: boolean
|
|
token:
|
|
type: string
|
|
url:
|
|
type: string
|
|
type: object
|
|
sessions:
|
|
properties:
|
|
enable:
|
|
type: boolean
|
|
ip_ignorelist:
|
|
items:
|
|
type: string
|
|
type: array
|
|
max_bitrate_mbit:
|
|
type: integer
|
|
max_sessions:
|
|
type: integer
|
|
persist:
|
|
type: boolean
|
|
persist_interval_sec:
|
|
type: integer
|
|
session_timeout_sec:
|
|
type: integer
|
|
type: object
|
|
srt:
|
|
properties:
|
|
address:
|
|
type: string
|
|
enable:
|
|
type: boolean
|
|
log:
|
|
properties:
|
|
enable:
|
|
type: boolean
|
|
topics:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
passphrase:
|
|
type: string
|
|
token:
|
|
type: string
|
|
type: object
|
|
storage:
|
|
properties:
|
|
cors:
|
|
properties:
|
|
origins:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
disk:
|
|
properties:
|
|
cache:
|
|
properties:
|
|
enable:
|
|
type: boolean
|
|
max_file_size_mbytes:
|
|
type: integer
|
|
max_size_mbytes:
|
|
type: integer
|
|
ttl_seconds:
|
|
type: integer
|
|
types:
|
|
properties:
|
|
allow:
|
|
items:
|
|
type: string
|
|
type: array
|
|
block:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
type: object
|
|
dir:
|
|
type: string
|
|
max_size_mbytes:
|
|
type: integer
|
|
type: object
|
|
memory:
|
|
properties:
|
|
auth:
|
|
properties:
|
|
enable:
|
|
type: boolean
|
|
password:
|
|
type: string
|
|
username:
|
|
type: string
|
|
type: object
|
|
max_size_mbytes:
|
|
type: integer
|
|
purge:
|
|
type: boolean
|
|
type: object
|
|
mimetypes_file:
|
|
type: string
|
|
type: object
|
|
tls:
|
|
properties:
|
|
address:
|
|
type: string
|
|
auto:
|
|
type: boolean
|
|
cert_file:
|
|
type: string
|
|
enable:
|
|
type: boolean
|
|
key_file:
|
|
type: string
|
|
type: object
|
|
update_check:
|
|
type: boolean
|
|
version:
|
|
type: integer
|
|
type: object
|
|
api.ConfigError:
|
|
additionalProperties:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
api.Error:
|
|
properties:
|
|
code:
|
|
type: integer
|
|
details:
|
|
items:
|
|
type: string
|
|
type: array
|
|
message:
|
|
type: string
|
|
type: object
|
|
api.FileInfo:
|
|
properties:
|
|
last_modified:
|
|
type: integer
|
|
name:
|
|
type: string
|
|
size_bytes:
|
|
type: integer
|
|
type: object
|
|
api.GraphQuery:
|
|
properties:
|
|
query:
|
|
type: string
|
|
variables: {}
|
|
type: object
|
|
api.GraphResponse:
|
|
properties:
|
|
data: {}
|
|
errors:
|
|
items: {}
|
|
type: array
|
|
type: object
|
|
api.JWT:
|
|
properties:
|
|
access_token:
|
|
type: string
|
|
refresh_token:
|
|
type: string
|
|
type: object
|
|
api.JWTRefresh:
|
|
properties:
|
|
access_token:
|
|
type: string
|
|
type: object
|
|
api.LogEvent:
|
|
additionalProperties: true
|
|
type: object
|
|
api.Login:
|
|
properties:
|
|
password:
|
|
type: string
|
|
username:
|
|
type: string
|
|
required:
|
|
- password
|
|
- username
|
|
type: object
|
|
api.MetricsDescription:
|
|
properties:
|
|
description:
|
|
type: string
|
|
labels:
|
|
items:
|
|
type: string
|
|
type: array
|
|
name:
|
|
type: string
|
|
type: object
|
|
api.MetricsQuery:
|
|
properties:
|
|
interval_sec:
|
|
type: integer
|
|
metrics:
|
|
items:
|
|
$ref: '#/definitions/api.MetricsQueryMetric'
|
|
type: array
|
|
timerange_sec:
|
|
type: integer
|
|
type: object
|
|
api.MetricsQueryMetric:
|
|
properties:
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
name:
|
|
type: string
|
|
type: object
|
|
api.MetricsResponse:
|
|
properties:
|
|
interval_sec:
|
|
type: integer
|
|
metrics:
|
|
items:
|
|
$ref: '#/definitions/api.MetricsResponseMetric'
|
|
type: array
|
|
timerange_sec:
|
|
type: integer
|
|
type: object
|
|
api.MetricsResponseMetric:
|
|
properties:
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
name:
|
|
type: string
|
|
values:
|
|
items:
|
|
$ref: '#/definitions/api.MetricsResponseValue'
|
|
type: array
|
|
type: object
|
|
api.MetricsResponseValue:
|
|
properties:
|
|
ts:
|
|
type: string
|
|
value:
|
|
type: number
|
|
type: object
|
|
api.PlayoutStatus:
|
|
properties:
|
|
aqueue:
|
|
type: integer
|
|
debug: {}
|
|
drop:
|
|
type: integer
|
|
dup:
|
|
type: integer
|
|
duplicating:
|
|
type: boolean
|
|
enc:
|
|
type: integer
|
|
gop:
|
|
type: string
|
|
id:
|
|
type: string
|
|
input:
|
|
$ref: '#/definitions/api.PlayoutStatusIO'
|
|
looping:
|
|
type: boolean
|
|
output:
|
|
$ref: '#/definitions/api.PlayoutStatusIO'
|
|
queue:
|
|
type: integer
|
|
stream:
|
|
type: integer
|
|
swap:
|
|
$ref: '#/definitions/api.PlayoutStatusSwap'
|
|
url:
|
|
type: string
|
|
type: object
|
|
api.PlayoutStatusIO:
|
|
properties:
|
|
packet:
|
|
type: integer
|
|
size_kb:
|
|
type: integer
|
|
state:
|
|
enum:
|
|
- running
|
|
- idle
|
|
type: string
|
|
time:
|
|
type: integer
|
|
type: object
|
|
api.PlayoutStatusSwap:
|
|
properties:
|
|
lasterror:
|
|
type: string
|
|
lasturl:
|
|
type: string
|
|
status:
|
|
type: string
|
|
url:
|
|
type: string
|
|
type: object
|
|
api.Probe:
|
|
properties:
|
|
log:
|
|
items:
|
|
type: string
|
|
type: array
|
|
streams:
|
|
items:
|
|
$ref: '#/definitions/api.ProbeIO'
|
|
type: array
|
|
type: object
|
|
api.ProbeIO:
|
|
properties:
|
|
bitrate_kbps:
|
|
type: number
|
|
channels:
|
|
type: integer
|
|
codec:
|
|
type: string
|
|
coder:
|
|
type: string
|
|
duration_sec:
|
|
type: number
|
|
format:
|
|
type: string
|
|
fps:
|
|
description: video
|
|
type: number
|
|
height:
|
|
type: integer
|
|
index:
|
|
type: integer
|
|
language:
|
|
type: string
|
|
layout:
|
|
type: string
|
|
pix_fmt:
|
|
type: string
|
|
sampling_hz:
|
|
description: audio
|
|
type: integer
|
|
stream:
|
|
type: integer
|
|
type:
|
|
type: string
|
|
url:
|
|
description: common
|
|
type: string
|
|
width:
|
|
type: integer
|
|
type: object
|
|
api.Process:
|
|
properties:
|
|
config:
|
|
$ref: '#/definitions/api.ProcessConfig'
|
|
created_at:
|
|
type: integer
|
|
id:
|
|
type: string
|
|
metadata: {}
|
|
reference:
|
|
type: string
|
|
report:
|
|
$ref: '#/definitions/api.ProcessReport'
|
|
state:
|
|
$ref: '#/definitions/api.ProcessState'
|
|
type:
|
|
type: string
|
|
type: object
|
|
api.ProcessConfig:
|
|
properties:
|
|
autostart:
|
|
type: boolean
|
|
id:
|
|
type: string
|
|
input:
|
|
items:
|
|
$ref: '#/definitions/api.ProcessConfigIO'
|
|
type: array
|
|
limits:
|
|
$ref: '#/definitions/api.ProcessConfigLimits'
|
|
options:
|
|
items:
|
|
type: string
|
|
type: array
|
|
output:
|
|
items:
|
|
$ref: '#/definitions/api.ProcessConfigIO'
|
|
type: array
|
|
reconnect:
|
|
type: boolean
|
|
reconnect_delay_seconds:
|
|
type: integer
|
|
reference:
|
|
type: string
|
|
stale_timeout_seconds:
|
|
type: integer
|
|
type:
|
|
enum:
|
|
- ffmpeg
|
|
- ""
|
|
type: string
|
|
required:
|
|
- input
|
|
- output
|
|
type: object
|
|
api.ProcessConfigIO:
|
|
properties:
|
|
address:
|
|
type: string
|
|
cleanup:
|
|
items:
|
|
$ref: '#/definitions/api.ProcessConfigIOCleanup'
|
|
type: array
|
|
id:
|
|
type: string
|
|
options:
|
|
items:
|
|
type: string
|
|
type: array
|
|
required:
|
|
- address
|
|
type: object
|
|
api.ProcessConfigIOCleanup:
|
|
properties:
|
|
max_file_age_seconds:
|
|
type: integer
|
|
max_files:
|
|
type: integer
|
|
pattern:
|
|
type: string
|
|
purge_on_delete:
|
|
type: boolean
|
|
required:
|
|
- pattern
|
|
type: object
|
|
api.ProcessConfigLimits:
|
|
properties:
|
|
cpu_usage:
|
|
type: number
|
|
memory_mbytes:
|
|
type: integer
|
|
waitfor_seconds:
|
|
type: integer
|
|
type: object
|
|
api.ProcessReport:
|
|
properties:
|
|
created_at:
|
|
type: integer
|
|
history:
|
|
items:
|
|
$ref: '#/definitions/api.ProcessReportHistoryEntry'
|
|
type: array
|
|
log:
|
|
items:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: array
|
|
prelude:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
api.ProcessReportHistoryEntry:
|
|
properties:
|
|
created_at:
|
|
type: integer
|
|
log:
|
|
items:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: array
|
|
prelude:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
api.ProcessState:
|
|
properties:
|
|
command:
|
|
items:
|
|
type: string
|
|
type: array
|
|
cpu_usage:
|
|
type: number
|
|
exec:
|
|
type: string
|
|
last_logline:
|
|
type: string
|
|
memory_bytes:
|
|
type: integer
|
|
order:
|
|
type: string
|
|
progress:
|
|
$ref: '#/definitions/api.Progress'
|
|
reconnect_seconds:
|
|
type: integer
|
|
runtime_seconds:
|
|
type: integer
|
|
type: object
|
|
api.Progress:
|
|
properties:
|
|
bitrate_kbit:
|
|
description: kbit/s
|
|
type: number
|
|
drop:
|
|
type: integer
|
|
dup:
|
|
type: integer
|
|
fps:
|
|
type: number
|
|
frame:
|
|
type: integer
|
|
inputs:
|
|
items:
|
|
$ref: '#/definitions/api.ProgressIO'
|
|
type: array
|
|
outputs:
|
|
items:
|
|
$ref: '#/definitions/api.ProgressIO'
|
|
type: array
|
|
packet:
|
|
type: integer
|
|
q:
|
|
type: number
|
|
size_kb:
|
|
description: kbytes
|
|
type: integer
|
|
speed:
|
|
type: number
|
|
time:
|
|
type: number
|
|
type: object
|
|
api.ProgressIO:
|
|
properties:
|
|
address:
|
|
type: string
|
|
avstream:
|
|
$ref: '#/definitions/api.AVstream'
|
|
description: avstream
|
|
bitrate_kbit:
|
|
description: kbit/s
|
|
type: number
|
|
channels:
|
|
type: integer
|
|
codec:
|
|
type: string
|
|
coder:
|
|
type: string
|
|
format:
|
|
type: string
|
|
fps:
|
|
type: number
|
|
frame:
|
|
type: integer
|
|
height:
|
|
type: integer
|
|
id:
|
|
type: string
|
|
index:
|
|
description: General
|
|
type: integer
|
|
layout:
|
|
type: string
|
|
packet:
|
|
type: integer
|
|
pix_fmt:
|
|
description: Video
|
|
type: string
|
|
pps:
|
|
type: number
|
|
q:
|
|
type: number
|
|
sampling_hz:
|
|
description: Audio
|
|
type: integer
|
|
size_kb:
|
|
description: kbytes
|
|
type: integer
|
|
stream:
|
|
type: integer
|
|
type:
|
|
type: string
|
|
width:
|
|
type: integer
|
|
type: object
|
|
api.RTMPChannel:
|
|
properties:
|
|
name:
|
|
type: string
|
|
type: object
|
|
api.SRTChannels:
|
|
properties:
|
|
connections:
|
|
additionalProperties:
|
|
$ref: '#/definitions/api.SRTConnection'
|
|
type: object
|
|
log:
|
|
additionalProperties:
|
|
items:
|
|
$ref: '#/definitions/api.SRTLog'
|
|
type: array
|
|
type: object
|
|
publisher:
|
|
additionalProperties:
|
|
type: integer
|
|
type: object
|
|
subscriber:
|
|
additionalProperties:
|
|
items:
|
|
type: integer
|
|
type: array
|
|
type: object
|
|
type: object
|
|
api.SRTConnection:
|
|
properties:
|
|
log:
|
|
additionalProperties:
|
|
items:
|
|
$ref: '#/definitions/api.SRTLog'
|
|
type: array
|
|
type: object
|
|
stats:
|
|
$ref: '#/definitions/api.SRTStatistics'
|
|
type: object
|
|
api.SRTLog:
|
|
properties:
|
|
msg:
|
|
items:
|
|
type: string
|
|
type: array
|
|
ts:
|
|
type: integer
|
|
type: object
|
|
api.SRTStatistics:
|
|
properties:
|
|
avail_recv_buf_bytes:
|
|
description: The available space in the receiver's buffer, in bytes
|
|
type: integer
|
|
avail_send_buf_bytes:
|
|
description: The available space in the sender's buffer, in bytes
|
|
type: integer
|
|
bandwidth_mbit:
|
|
description: Estimated bandwidth of the network link, in Mbps
|
|
type: number
|
|
flight_size_pkt:
|
|
description: The number of packets in flight
|
|
type: integer
|
|
flow_window_pkt:
|
|
description: The maximum number of packets that can be "in flight"
|
|
type: integer
|
|
max_bandwidth_mbit:
|
|
description: Transmission bandwidth limit, in Mbps
|
|
type: number
|
|
mss_bytes:
|
|
description: Maximum Segment Size (MSS), in bytes
|
|
type: integer
|
|
pkt_recv_avg_belated_time_ms:
|
|
description: Accumulated difference between the current time and the time-to-play
|
|
of a packet that is received late
|
|
type: integer
|
|
pkt_send_period_us:
|
|
description: Current minimum time interval between which consecutive packets
|
|
are sent, in microseconds
|
|
type: number
|
|
recv_ack_pkt:
|
|
description: The total number of received ACK (Acknowledgement) control packets
|
|
type: integer
|
|
recv_buf_bytes:
|
|
description: Instantaneous (current) value of pktRcvBuf, expressed in bytes,
|
|
including payload and all headers (IP, TCP, SRT)
|
|
type: integer
|
|
recv_buf_ms:
|
|
description: The timespan (msec) of acknowledged packets in the receiver's
|
|
buffer
|
|
type: integer
|
|
recv_buf_pkt:
|
|
description: The number of acknowledged packets in receiver's buffer
|
|
type: integer
|
|
recv_bytes:
|
|
description: Same as pktRecv, but expressed in bytes, including payload and
|
|
all the headers (IP, TCP, SRT)
|
|
type: integer
|
|
recv_drop_bytes:
|
|
description: Same as pktRcvDrop, but expressed in bytes, including payload
|
|
and all the headers (IP, TCP, SRT)
|
|
type: integer
|
|
recv_drop_pkt:
|
|
description: The total number of dropped by the SRT receiver and, as a result,
|
|
not delivered to the upstream application DATA packets
|
|
type: integer
|
|
recv_km_pkt:
|
|
description: The total number of received KM (Key Material) control packets
|
|
type: integer
|
|
recv_loss__bytes:
|
|
description: Same as pktRcvLoss, but expressed in bytes, including payload
|
|
and all the headers (IP, TCP, SRT), bytes for the presently missing (either
|
|
reordered or lost) packets' payloads are estimated based on the average
|
|
packet size
|
|
type: integer
|
|
recv_loss_pkt:
|
|
description: The total number of SRT DATA packets detected as presently missing
|
|
(either reordered or lost) at the receiver side
|
|
type: integer
|
|
recv_nak_pkt:
|
|
description: The total number of received NAK (Negative Acknowledgement) control
|
|
packets
|
|
type: integer
|
|
recv_pkt:
|
|
description: The total number of received DATA packets, including retransmitted
|
|
packets
|
|
type: integer
|
|
recv_retran_pkts:
|
|
description: The total number of retransmitted packets registered at the receiver
|
|
side
|
|
type: integer
|
|
recv_tsbpd_delay_ms:
|
|
description: Timestamp-based Packet Delivery Delay value set on the socket
|
|
via SRTO_RCVLATENCY or SRTO_LATENCY
|
|
type: integer
|
|
recv_undecrypt_bytes:
|
|
description: Same as pktRcvUndecrypt, but expressed in bytes, including payload
|
|
and all the headers (IP, TCP, SRT)
|
|
type: integer
|
|
recv_undecrypt_pkt:
|
|
description: The total number of packets that failed to be decrypted at the
|
|
receiver side
|
|
type: integer
|
|
recv_unique_bytes:
|
|
description: Same as pktRecvUnique, but expressed in bytes, including payload
|
|
and all the headers (IP, TCP, SRT)
|
|
type: integer
|
|
recv_unique_pkt:
|
|
description: The total number of unique original, retransmitted or recovered
|
|
by the packet filter DATA packets received in time, decrypted without errors
|
|
and, as a result, scheduled for delivery to the upstream application by
|
|
the SRT receiver.
|
|
type: integer
|
|
reorder_tolerance_pkt:
|
|
description: Instant value of the packet reorder tolerance
|
|
type: integer
|
|
rtt_ms:
|
|
description: Smoothed round-trip time (SRTT), an exponentially-weighted moving
|
|
average (EWMA) of an endpoint's RTT samples, in milliseconds
|
|
type: number
|
|
send_buf_bytes:
|
|
description: Instantaneous (current) value of pktSndBuf, but expressed in
|
|
bytes, including payload and all headers (IP, TCP, SRT)
|
|
type: integer
|
|
send_buf_ms:
|
|
description: The timespan (msec) of packets in the sender's buffer (unacknowledged
|
|
packets)
|
|
type: integer
|
|
send_buf_pkt:
|
|
description: The number of packets in the sender's buffer that are already
|
|
scheduled for sending or even possibly sent, but not yet acknowledged
|
|
type: integer
|
|
send_drop_bytes:
|
|
description: Same as pktSndDrop, but expressed in bytes, including payload
|
|
and all the headers (IP, TCP, SRT)
|
|
type: integer
|
|
send_drop_pkt:
|
|
description: The total number of dropped by the SRT sender DATA packets that
|
|
have no chance to be delivered in time
|
|
type: integer
|
|
send_duration_us:
|
|
description: The total accumulated time in microseconds, during which the
|
|
SRT sender has some data to transmit, including packets that have been sent,
|
|
but not yet acknowledged
|
|
type: integer
|
|
send_km_pkt:
|
|
description: The total number of sent KM (Key Material) control packets
|
|
type: integer
|
|
send_loss_pkt:
|
|
description: The total number of data packets considered or reported as lost
|
|
at the sender side. Does not correspond to the packets detected as lost
|
|
at the receiver side.
|
|
type: integer
|
|
send_tsbpd_delay_ms:
|
|
description: Timestamp-based Packet Delivery Delay value of the peer
|
|
type: integer
|
|
sent_ack_pkt:
|
|
description: The total number of sent ACK (Acknowledgement) control packets
|
|
type: integer
|
|
sent_bytes:
|
|
description: Same as pktSent, but expressed in bytes, including payload and
|
|
all the headers (IP, TCP, SRT)
|
|
type: integer
|
|
sent_nak_pkt:
|
|
description: The total number of sent NAK (Negative Acknowledgement) control
|
|
packets
|
|
type: integer
|
|
sent_pkt:
|
|
description: The total number of sent DATA packets, including retransmitted
|
|
packets
|
|
type: integer
|
|
sent_retrans_bytes:
|
|
description: Same as pktRetrans, but expressed in bytes, including payload
|
|
and all the headers (IP, TCP, SRT)
|
|
type: integer
|
|
sent_retrans_pkt:
|
|
description: The total number of retransmitted packets sent by the SRT sender
|
|
type: integer
|
|
sent_unique__bytes:
|
|
description: Same as pktSentUnique, but expressed in bytes, including payload
|
|
and all the headers (IP, TCP, SRT)
|
|
type: integer
|
|
sent_unique_pkt:
|
|
description: The total number of unique DATA packets sent by the SRT sender
|
|
type: integer
|
|
timestamp_ms:
|
|
description: The time elapsed, in milliseconds, since the SRT socket has been
|
|
created
|
|
type: integer
|
|
type: object
|
|
api.Session:
|
|
properties:
|
|
bandwidth_rx_kbit:
|
|
description: kbit/s
|
|
type: number
|
|
bandwidth_tx_kbit:
|
|
description: kbit/s
|
|
type: number
|
|
bytes_rx:
|
|
type: integer
|
|
bytes_tx:
|
|
type: integer
|
|
created_at:
|
|
type: integer
|
|
extra:
|
|
type: string
|
|
id:
|
|
type: string
|
|
local:
|
|
type: string
|
|
reference:
|
|
type: string
|
|
remote:
|
|
type: string
|
|
type: object
|
|
api.SessionPeers:
|
|
properties:
|
|
local:
|
|
additionalProperties:
|
|
$ref: '#/definitions/api.SessionStats'
|
|
type: object
|
|
sessions:
|
|
type: integer
|
|
traffic_rx_mb:
|
|
type: integer
|
|
traffic_tx_mb:
|
|
type: integer
|
|
type: object
|
|
api.SessionStats:
|
|
properties:
|
|
sessions:
|
|
type: integer
|
|
traffic_rx_mb:
|
|
type: integer
|
|
traffic_tx_mb:
|
|
type: integer
|
|
type: object
|
|
api.SessionSummary:
|
|
properties:
|
|
active:
|
|
$ref: '#/definitions/api.SessionSummaryActive'
|
|
summary:
|
|
$ref: '#/definitions/api.SessionSummarySummary'
|
|
type: object
|
|
api.SessionSummaryActive:
|
|
properties:
|
|
bandwidth_rx_mbit:
|
|
description: mbit/s
|
|
type: number
|
|
bandwidth_tx_mbit:
|
|
description: mbit/s
|
|
type: number
|
|
list:
|
|
items:
|
|
$ref: '#/definitions/api.Session'
|
|
type: array
|
|
max_bandwidth_rx_mbit:
|
|
description: mbit/s
|
|
type: number
|
|
max_bandwidth_tx_mbit:
|
|
description: mbit/s
|
|
type: number
|
|
max_sessions:
|
|
type: integer
|
|
sessions:
|
|
type: integer
|
|
type: object
|
|
api.SessionSummarySummary:
|
|
properties:
|
|
local:
|
|
additionalProperties:
|
|
$ref: '#/definitions/api.SessionStats'
|
|
type: object
|
|
reference:
|
|
additionalProperties:
|
|
$ref: '#/definitions/api.SessionStats'
|
|
type: object
|
|
remote:
|
|
additionalProperties:
|
|
$ref: '#/definitions/api.SessionPeers'
|
|
type: object
|
|
sessions:
|
|
type: integer
|
|
traffic_rx_mb:
|
|
type: integer
|
|
traffic_tx_mb:
|
|
type: integer
|
|
type: object
|
|
api.SessionsActive:
|
|
additionalProperties:
|
|
items:
|
|
$ref: '#/definitions/api.Session'
|
|
type: array
|
|
type: object
|
|
api.SessionsSummary:
|
|
additionalProperties:
|
|
$ref: '#/definitions/api.SessionSummary'
|
|
type: object
|
|
api.SetConfig:
|
|
properties:
|
|
address:
|
|
type: string
|
|
api:
|
|
properties:
|
|
access:
|
|
properties:
|
|
http:
|
|
properties:
|
|
allow:
|
|
items:
|
|
type: string
|
|
type: array
|
|
block:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
https:
|
|
properties:
|
|
allow:
|
|
items:
|
|
type: string
|
|
type: array
|
|
block:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
type: object
|
|
auth:
|
|
properties:
|
|
auth0:
|
|
properties:
|
|
enable:
|
|
type: boolean
|
|
tenants:
|
|
items:
|
|
$ref: '#/definitions/config.Auth0Tenant'
|
|
type: array
|
|
type: object
|
|
disable_localhost:
|
|
type: boolean
|
|
enable:
|
|
type: boolean
|
|
jwt:
|
|
properties:
|
|
secret:
|
|
type: string
|
|
type: object
|
|
password:
|
|
type: string
|
|
username:
|
|
type: string
|
|
type: object
|
|
read_only:
|
|
type: boolean
|
|
type: object
|
|
created_at:
|
|
type: string
|
|
db:
|
|
properties:
|
|
dir:
|
|
type: string
|
|
type: object
|
|
debug:
|
|
properties:
|
|
force_gc:
|
|
type: integer
|
|
profiling:
|
|
type: boolean
|
|
type: object
|
|
ffmpeg:
|
|
properties:
|
|
access:
|
|
properties:
|
|
input:
|
|
properties:
|
|
allow:
|
|
items:
|
|
type: string
|
|
type: array
|
|
block:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
output:
|
|
properties:
|
|
allow:
|
|
items:
|
|
type: string
|
|
type: array
|
|
block:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
type: object
|
|
binary:
|
|
type: string
|
|
log:
|
|
properties:
|
|
max_history:
|
|
type: integer
|
|
max_lines:
|
|
type: integer
|
|
type: object
|
|
max_processes:
|
|
type: integer
|
|
type: object
|
|
host:
|
|
properties:
|
|
auto:
|
|
type: boolean
|
|
name:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
id:
|
|
type: string
|
|
log:
|
|
properties:
|
|
level:
|
|
enum:
|
|
- debug
|
|
- info
|
|
- warn
|
|
- error
|
|
- silent
|
|
type: string
|
|
max_lines:
|
|
type: integer
|
|
topics:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
metrics:
|
|
properties:
|
|
enable:
|
|
type: boolean
|
|
enable_prometheus:
|
|
type: boolean
|
|
interval_sec:
|
|
description: seconds
|
|
type: integer
|
|
range_sec:
|
|
description: seconds
|
|
type: integer
|
|
type: object
|
|
name:
|
|
type: string
|
|
playout:
|
|
properties:
|
|
enable:
|
|
type: boolean
|
|
max_port:
|
|
type: integer
|
|
min_port:
|
|
type: integer
|
|
type: object
|
|
router:
|
|
properties:
|
|
blocked_prefixes:
|
|
items:
|
|
type: string
|
|
type: array
|
|
routes:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
ui_path:
|
|
type: string
|
|
type: object
|
|
rtmp:
|
|
properties:
|
|
address:
|
|
type: string
|
|
address_tls:
|
|
type: string
|
|
app:
|
|
type: string
|
|
enable:
|
|
type: boolean
|
|
enable_tls:
|
|
type: boolean
|
|
token:
|
|
type: string
|
|
type: object
|
|
service:
|
|
properties:
|
|
enable:
|
|
type: boolean
|
|
token:
|
|
type: string
|
|
url:
|
|
type: string
|
|
type: object
|
|
sessions:
|
|
properties:
|
|
enable:
|
|
type: boolean
|
|
ip_ignorelist:
|
|
items:
|
|
type: string
|
|
type: array
|
|
max_bitrate_mbit:
|
|
type: integer
|
|
max_sessions:
|
|
type: integer
|
|
persist:
|
|
type: boolean
|
|
persist_interval_sec:
|
|
type: integer
|
|
session_timeout_sec:
|
|
type: integer
|
|
type: object
|
|
srt:
|
|
properties:
|
|
address:
|
|
type: string
|
|
enable:
|
|
type: boolean
|
|
log:
|
|
properties:
|
|
enable:
|
|
type: boolean
|
|
topics:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
passphrase:
|
|
type: string
|
|
token:
|
|
type: string
|
|
type: object
|
|
storage:
|
|
properties:
|
|
cors:
|
|
properties:
|
|
origins:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
disk:
|
|
properties:
|
|
cache:
|
|
properties:
|
|
enable:
|
|
type: boolean
|
|
max_file_size_mbytes:
|
|
type: integer
|
|
max_size_mbytes:
|
|
type: integer
|
|
ttl_seconds:
|
|
type: integer
|
|
types:
|
|
properties:
|
|
allow:
|
|
items:
|
|
type: string
|
|
type: array
|
|
block:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
type: object
|
|
dir:
|
|
type: string
|
|
max_size_mbytes:
|
|
type: integer
|
|
type: object
|
|
memory:
|
|
properties:
|
|
auth:
|
|
properties:
|
|
enable:
|
|
type: boolean
|
|
password:
|
|
type: string
|
|
username:
|
|
type: string
|
|
type: object
|
|
max_size_mbytes:
|
|
type: integer
|
|
purge:
|
|
type: boolean
|
|
type: object
|
|
mimetypes_file:
|
|
type: string
|
|
type: object
|
|
tls:
|
|
properties:
|
|
address:
|
|
type: string
|
|
auto:
|
|
type: boolean
|
|
cert_file:
|
|
type: string
|
|
enable:
|
|
type: boolean
|
|
key_file:
|
|
type: string
|
|
type: object
|
|
update_check:
|
|
type: boolean
|
|
version:
|
|
type: integer
|
|
type: object
|
|
api.Skills:
|
|
properties:
|
|
codecs:
|
|
properties:
|
|
audio:
|
|
items:
|
|
$ref: '#/definitions/api.SkillsCodec'
|
|
type: array
|
|
subtitle:
|
|
items:
|
|
$ref: '#/definitions/api.SkillsCodec'
|
|
type: array
|
|
video:
|
|
items:
|
|
$ref: '#/definitions/api.SkillsCodec'
|
|
type: array
|
|
type: object
|
|
devices:
|
|
properties:
|
|
demuxers:
|
|
items:
|
|
$ref: '#/definitions/api.SkillsDevice'
|
|
type: array
|
|
muxers:
|
|
items:
|
|
$ref: '#/definitions/api.SkillsDevice'
|
|
type: array
|
|
type: object
|
|
ffmpeg:
|
|
properties:
|
|
compiler:
|
|
type: string
|
|
configuration:
|
|
type: string
|
|
libraries:
|
|
items:
|
|
$ref: '#/definitions/api.SkillsLibrary'
|
|
type: array
|
|
version:
|
|
type: string
|
|
type: object
|
|
filter:
|
|
items:
|
|
$ref: '#/definitions/api.SkillsFilter'
|
|
type: array
|
|
formats:
|
|
properties:
|
|
demuxers:
|
|
items:
|
|
$ref: '#/definitions/api.SkillsFormat'
|
|
type: array
|
|
muxers:
|
|
items:
|
|
$ref: '#/definitions/api.SkillsFormat'
|
|
type: array
|
|
type: object
|
|
hwaccels:
|
|
items:
|
|
$ref: '#/definitions/api.SkillsHWAccel'
|
|
type: array
|
|
protocols:
|
|
properties:
|
|
input:
|
|
items:
|
|
$ref: '#/definitions/api.SkillsProtocol'
|
|
type: array
|
|
output:
|
|
items:
|
|
$ref: '#/definitions/api.SkillsProtocol'
|
|
type: array
|
|
type: object
|
|
type: object
|
|
api.SkillsCodec:
|
|
properties:
|
|
decoders:
|
|
items:
|
|
type: string
|
|
type: array
|
|
encoders:
|
|
items:
|
|
type: string
|
|
type: array
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
type: object
|
|
api.SkillsDevice:
|
|
properties:
|
|
devices:
|
|
items:
|
|
$ref: '#/definitions/api.SkillsHWDevice'
|
|
type: array
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
type: object
|
|
api.SkillsFilter:
|
|
properties:
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
type: object
|
|
api.SkillsFormat:
|
|
properties:
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
type: object
|
|
api.SkillsHWAccel:
|
|
properties:
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
type: object
|
|
api.SkillsHWDevice:
|
|
properties:
|
|
extra:
|
|
type: string
|
|
id:
|
|
type: string
|
|
media:
|
|
type: string
|
|
name:
|
|
type: string
|
|
type: object
|
|
api.SkillsLibrary:
|
|
properties:
|
|
compiled:
|
|
type: string
|
|
linked:
|
|
type: string
|
|
name:
|
|
type: string
|
|
type: object
|
|
api.SkillsProtocol:
|
|
properties:
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
type: object
|
|
api.Version:
|
|
properties:
|
|
arch:
|
|
type: string
|
|
build_date:
|
|
type: string
|
|
compiler:
|
|
type: string
|
|
number:
|
|
type: string
|
|
repository_branch:
|
|
type: string
|
|
repository_commit:
|
|
type: string
|
|
type: object
|
|
api.WidgetProcess:
|
|
properties:
|
|
current_sessions:
|
|
type: integer
|
|
total_sessions:
|
|
type: integer
|
|
uptime:
|
|
type: integer
|
|
type: object
|
|
config.Auth0Tenant:
|
|
properties:
|
|
audience:
|
|
type: string
|
|
clientid:
|
|
type: string
|
|
domain:
|
|
type: string
|
|
users:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
info:
|
|
contact:
|
|
email: hello@datarhei.com
|
|
name: datarhei Core Support
|
|
url: https://www.datarhei.com
|
|
description: Expose REST API for the datarhei Core
|
|
license:
|
|
name: Apache 2.0
|
|
url: https://github.com/datarhei/core/v16/blob/main/LICENSE
|
|
title: datarhei Core API
|
|
version: "3.0"
|
|
paths:
|
|
/{path}:
|
|
get:
|
|
description: Fetch a file from the filesystem. If the file is a directory, a
|
|
index.html is returned, if it exists.
|
|
operationId: diskfs-get-file
|
|
parameters:
|
|
- description: Path to file
|
|
in: path
|
|
name: path
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/data
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
type: file
|
|
"301":
|
|
description: Moved Permanently
|
|
schema:
|
|
type: string
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
summary: Fetch a file from the filesystem
|
|
/api:
|
|
get:
|
|
description: API version and build infos in case auth is valid or not required.
|
|
If auth is required, just the name field is populated.
|
|
operationId: about
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api.About'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: API version and build infos
|
|
/api/graph:
|
|
get:
|
|
description: Load GraphQL playground
|
|
operationId: graph-playground
|
|
produces:
|
|
- text/html
|
|
responses:
|
|
"200":
|
|
description: ""
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Load GraphQL playground
|
|
/api/graph/query:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Query the GraphAPI
|
|
operationId: graph-query
|
|
parameters:
|
|
- description: GraphQL Query
|
|
in: body
|
|
name: query
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/api.GraphQuery'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api.GraphResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.GraphResponse'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Query the GraphAPI
|
|
/api/login:
|
|
post:
|
|
description: Retrieve valid JWT access and refresh tokens to use for accessing
|
|
the API. Login either by username/password or Auth0 token
|
|
operationId: jwt-login
|
|
parameters:
|
|
- description: Login data
|
|
in: body
|
|
name: data
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/api.Login'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api.JWT'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
"403":
|
|
description: Forbidden
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- Auth0KeyAuth: []
|
|
summary: Retrieve an access and a refresh token
|
|
/api/login/refresh:
|
|
get:
|
|
description: Retrieve a new access token by providing the refresh token
|
|
operationId: jwt-refresh
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api.JWTRefresh'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- ApiRefreshKeyAuth: []
|
|
summary: Retrieve a new access token
|
|
/api/swagger:
|
|
get:
|
|
description: Swagger UI for this API
|
|
operationId: swagger
|
|
produces:
|
|
- text/html
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
type: string
|
|
summary: Swagger UI for this API
|
|
/api/v3/config:
|
|
get:
|
|
description: Retrieve the currently active Restreamer configuration
|
|
operationId: config-3-get
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api.Config'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Retrieve the currently active Restreamer configuration
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Update the current Restreamer configuration by providing a complete
|
|
or partial configuration. Fields that are not provided will not be changed.
|
|
operationId: config-3-set
|
|
parameters:
|
|
- description: Restreamer configuration
|
|
in: body
|
|
name: config
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/api.SetConfig'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
type: string
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
"409":
|
|
description: Conflict
|
|
schema:
|
|
$ref: '#/definitions/api.ConfigError'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Update the current Restreamer configuration
|
|
/api/v3/config/reload:
|
|
get:
|
|
description: Reload the currently active configuration. This will trigger a
|
|
restart of the Restreamer.
|
|
operationId: config-3-reload
|
|
produces:
|
|
- text/plain
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
type: string
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Reload the currently active configuration
|
|
/api/v3/fs/disk:
|
|
get:
|
|
description: List all files on the filesystem. The listing can be ordered by
|
|
name, size, or date of last modification in ascending or descending order.
|
|
operationId: diskfs-3-list-files
|
|
parameters:
|
|
- description: glob pattern for file names
|
|
in: query
|
|
name: glob
|
|
type: string
|
|
- description: none, name, size, lastmod
|
|
in: query
|
|
name: sort
|
|
type: string
|
|
- description: asc, desc
|
|
in: query
|
|
name: order
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
items:
|
|
$ref: '#/definitions/api.FileInfo'
|
|
type: array
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: List all files on the filesystem
|
|
/api/v3/fs/disk/{path}:
|
|
delete:
|
|
description: Remove a file from the filesystem
|
|
operationId: diskfs-3-delete-file
|
|
parameters:
|
|
- description: Path to file
|
|
in: path
|
|
name: path
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- text/plain
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
type: string
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Remove a file from the filesystem
|
|
get:
|
|
description: Fetch a file from the filesystem. The contents of that file are
|
|
returned.
|
|
operationId: diskfs-3-get-file
|
|
parameters:
|
|
- description: Path to file
|
|
in: path
|
|
name: path
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/data
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
type: file
|
|
"301":
|
|
description: Moved Permanently
|
|
schema:
|
|
type: string
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Fetch a file from the filesystem
|
|
put:
|
|
consumes:
|
|
- application/data
|
|
description: Writes or overwrites a file on the filesystem
|
|
operationId: diskfs-3-put-file
|
|
parameters:
|
|
- description: Path to file
|
|
in: path
|
|
name: path
|
|
required: true
|
|
type: string
|
|
- description: File data
|
|
in: body
|
|
name: data
|
|
required: true
|
|
schema:
|
|
items:
|
|
type: integer
|
|
type: array
|
|
produces:
|
|
- text/plain
|
|
- application/json
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
schema:
|
|
type: string
|
|
"204":
|
|
description: No Content
|
|
schema:
|
|
type: string
|
|
"507":
|
|
description: Insufficient Storage
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Add a file to the filesystem
|
|
/api/v3/fs/mem:
|
|
get:
|
|
description: List all files on the memory filesystem. The listing can be ordered
|
|
by name, size, or date of last modification in ascending or descending order.
|
|
operationId: memfs-3-list-files
|
|
parameters:
|
|
- description: glob pattern for file names
|
|
in: query
|
|
name: glob
|
|
type: string
|
|
- description: none, name, size, lastmod
|
|
in: query
|
|
name: sort
|
|
type: string
|
|
- description: asc, desc
|
|
in: query
|
|
name: order
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
items:
|
|
$ref: '#/definitions/api.FileInfo'
|
|
type: array
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: List all files on the memory filesystem
|
|
/api/v3/fs/mem/{path}:
|
|
delete:
|
|
description: Remove a file from the memory filesystem
|
|
operationId: memfs-3-delete-file
|
|
parameters:
|
|
- description: Path to file
|
|
in: path
|
|
name: path
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- text/plain
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
type: string
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Remove a file from the memory filesystem
|
|
get:
|
|
description: Fetch a file from the memory filesystem
|
|
operationId: memfs-3-get-file
|
|
parameters:
|
|
- description: Path to file
|
|
in: path
|
|
name: path
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/data
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
type: file
|
|
"301":
|
|
description: Moved Permanently
|
|
schema:
|
|
type: string
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Fetch a file from the memory filesystem
|
|
patch:
|
|
consumes:
|
|
- application/data
|
|
description: Create a link to a file in the memory filesystem. The file linked
|
|
to has to exist.
|
|
operationId: memfs-3-patch
|
|
parameters:
|
|
- description: Path to file
|
|
in: path
|
|
name: path
|
|
required: true
|
|
type: string
|
|
- description: Path to the file to link to
|
|
in: body
|
|
name: url
|
|
required: true
|
|
schema:
|
|
type: string
|
|
produces:
|
|
- text/plain
|
|
- application/json
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
schema:
|
|
type: string
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Create a link to a file in the memory filesystem
|
|
put:
|
|
consumes:
|
|
- application/data
|
|
description: Writes or overwrites a file on the memory filesystem
|
|
operationId: memfs-3-put-file
|
|
parameters:
|
|
- description: Path to file
|
|
in: path
|
|
name: path
|
|
required: true
|
|
type: string
|
|
- description: File data
|
|
in: body
|
|
name: data
|
|
required: true
|
|
schema:
|
|
items:
|
|
type: integer
|
|
type: array
|
|
produces:
|
|
- text/plain
|
|
- application/json
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
schema:
|
|
type: string
|
|
"204":
|
|
description: No Content
|
|
schema:
|
|
type: string
|
|
"507":
|
|
description: Insufficient Storage
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Add a file to the memory filesystem
|
|
/api/v3/log:
|
|
get:
|
|
description: Get the last log lines of the Restreamer application
|
|
operationId: log-3
|
|
parameters:
|
|
- description: Format of the list of log events (*console, raw)
|
|
in: query
|
|
name: format
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: application log
|
|
schema:
|
|
items:
|
|
type: string
|
|
type: array
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Application log
|
|
/api/v3/metadata/{key}:
|
|
get:
|
|
description: Retrieve the previously stored JSON metadata under the given key.
|
|
If the key is empty, all metadata will be returned.
|
|
operationId: metadata-3-get
|
|
parameters:
|
|
- description: Key for data store
|
|
in: path
|
|
name: key
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema: {}
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Retrieve JSON metadata from a key
|
|
put:
|
|
description: Add arbitrary JSON metadata under the given key. If the key exists,
|
|
all already stored metadata with this key will be overwritten. If the key
|
|
doesn't exist, it will be created.
|
|
operationId: metadata-3-set
|
|
parameters:
|
|
- description: Key for data store
|
|
in: path
|
|
name: key
|
|
required: true
|
|
type: string
|
|
- description: Arbitrary JSON data
|
|
in: body
|
|
name: data
|
|
required: true
|
|
schema: {}
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema: {}
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Add JSON metadata under the given key
|
|
/api/v3/metrics:
|
|
get:
|
|
description: List all known metrics with their description and labels
|
|
operationId: metrics-3-describe
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
items:
|
|
$ref: '#/definitions/api.MetricsDescription'
|
|
type: array
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: List all known metrics with their description and labels
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Query the collected metrics
|
|
operationId: metrics-3-metrics
|
|
parameters:
|
|
- description: Metrics query
|
|
in: body
|
|
name: config
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/api.MetricsQuery'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api.MetricsResponse'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Query the collected metrics
|
|
/api/v3/process:
|
|
get:
|
|
description: List all known processes. Use the query parameter to filter the
|
|
listed processes.
|
|
operationId: process-3-get-all
|
|
parameters:
|
|
- description: Comma separated list of fields (config, state, report, metadata)
|
|
that will be part of the output. If empty, all fields will be part of the
|
|
output.
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
- description: Return only these process that have this reference value. If
|
|
empty, the reference will be ignored.
|
|
in: query
|
|
name: reference
|
|
type: string
|
|
- description: Comma separated list of process ids to list. Overrides the reference.
|
|
If empty all IDs will be returned.
|
|
in: query
|
|
name: id
|
|
type: string
|
|
- description: Glob pattern for process IDs. If empty all IDs will be returned.
|
|
Intersected with results from refpattern.
|
|
in: query
|
|
name: idpattern
|
|
type: string
|
|
- description: Glob pattern for process references. If empty all IDs will be
|
|
returned. Intersected with results from idpattern.
|
|
in: query
|
|
name: refpattern
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
items:
|
|
$ref: '#/definitions/api.Process'
|
|
type: array
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: List all known processes
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Add a new FFmpeg process
|
|
operationId: process-3-add
|
|
parameters:
|
|
- description: Process config
|
|
in: body
|
|
name: config
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/api.ProcessConfig'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api.ProcessConfig'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Add a new process
|
|
/api/v3/process/{id}:
|
|
delete:
|
|
description: Delete a process by its ID
|
|
operationId: process-3-delete
|
|
parameters:
|
|
- description: Process ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
type: string
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Delete a process by its ID
|
|
get:
|
|
description: List a process by its ID. Use the filter parameter to specifiy
|
|
the level of detail of the output.
|
|
operationId: process-3-get
|
|
parameters:
|
|
- description: Process ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
- description: Comma separated list of fields (config, state, report, metadata)
|
|
to be part of the output. If empty, all fields will be part of the output
|
|
in: query
|
|
name: filter
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api.Process'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: List a process by its ID
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Replace an existing process. This is a shortcut for DELETE+POST.
|
|
operationId: process-3-update
|
|
parameters:
|
|
- description: Process ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
- description: Process config
|
|
in: body
|
|
name: config
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/api.ProcessConfig'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api.ProcessConfig'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Replace an existing process
|
|
/api/v3/process/{id}/command:
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: 'Issue a command to a process: start, stop, reload, restart'
|
|
operationId: process-3-command
|
|
parameters:
|
|
- description: Process ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
- description: Process command
|
|
in: body
|
|
name: command
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/api.Command'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
type: string
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Issue a command to a process
|
|
/api/v3/process/{id}/config:
|
|
get:
|
|
description: Get the configuration of a process. This is the configuration as
|
|
provided by Add or Update.
|
|
operationId: process-3-get-config
|
|
parameters:
|
|
- description: Process ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api.ProcessConfig'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Get the configuration of a process
|
|
/api/v3/process/{id}/metadata/{key}:
|
|
get:
|
|
description: Retrieve the previously stored JSON metadata under the given key.
|
|
If the key is empty, all metadata will be returned.
|
|
operationId: process-3-get-process-metadata
|
|
parameters:
|
|
- description: Process ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
- description: Key for data store
|
|
in: path
|
|
name: key
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema: {}
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Retrieve JSON metadata stored with a process under a key
|
|
put:
|
|
description: Add arbitrary JSON metadata under the given key. If the key exists,
|
|
all already stored metadata with this key will be overwritten. If the key
|
|
doesn't exist, it will be created.
|
|
operationId: process-3-set-process-metadata
|
|
parameters:
|
|
- description: Process ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
- description: Key for data store
|
|
in: path
|
|
name: key
|
|
required: true
|
|
type: string
|
|
- description: Arbitrary JSON data. The null value will remove the key and its
|
|
contents
|
|
in: body
|
|
name: data
|
|
required: true
|
|
schema: {}
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema: {}
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Add JSON metadata with a process under the given key
|
|
/api/v3/process/{id}/playout/{inputid}/errorframe/{name}:
|
|
post:
|
|
consumes:
|
|
- application/octet-stream
|
|
description: Upload an error frame which will be encoded immediately
|
|
operationId: process-3-playout-errorframe
|
|
parameters:
|
|
- description: Process ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
- description: Process Input ID
|
|
in: path
|
|
name: inputid
|
|
required: true
|
|
type: string
|
|
- description: Any filename with a suitable extension
|
|
in: path
|
|
name: name
|
|
required: true
|
|
type: string
|
|
- description: Image to be used a error frame
|
|
in: body
|
|
name: image
|
|
required: true
|
|
schema:
|
|
items:
|
|
type: integer
|
|
type: array
|
|
produces:
|
|
- text/plain
|
|
- application/json
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
schema:
|
|
type: string
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Upload an error frame
|
|
/api/v3/process/{id}/playout/{inputid}/errorframe/encode:
|
|
get:
|
|
description: Immediately encode the errorframe (if available and looping)
|
|
operationId: process-3-playout-errorframencode
|
|
parameters:
|
|
- description: Process ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
- description: Process Input ID
|
|
in: path
|
|
name: inputid
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- text/plain
|
|
- application/json
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
schema:
|
|
type: string
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Encode the errorframe
|
|
/api/v3/process/{id}/playout/{inputid}/keyframe/{name}:
|
|
get:
|
|
description: Get the last keyframe of an input of a process. The extension of
|
|
the name determines the return type.
|
|
operationId: process-3-playout-keyframe
|
|
parameters:
|
|
- description: Process ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
- description: Process Input ID
|
|
in: path
|
|
name: inputid
|
|
required: true
|
|
type: string
|
|
- description: Any filename with an extension of .jpg or .png
|
|
in: path
|
|
name: name
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- image/jpeg
|
|
- image/png
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
type: file
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Get the last keyframe
|
|
/api/v3/process/{id}/playout/{inputid}/reopen:
|
|
get:
|
|
description: Close the current input stream such that it will be automatically
|
|
re-opened
|
|
operationId: process-3-playout-reopen-input
|
|
parameters:
|
|
- description: Process ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
- description: Process Input ID
|
|
in: path
|
|
name: inputid
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- text/plain
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
type: string
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Close the current input stream
|
|
/api/v3/process/{id}/playout/{inputid}/status:
|
|
get:
|
|
description: Get the current playout status of an input of a process
|
|
operationId: process-3-playout-status
|
|
parameters:
|
|
- description: Process ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
- description: Process Input ID
|
|
in: path
|
|
name: inputid
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api.PlayoutStatus'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Get the current playout status
|
|
/api/v3/process/{id}/playout/{inputid}/stream:
|
|
put:
|
|
consumes:
|
|
- text/plain
|
|
description: Replace the current stream with the one from the given URL. The
|
|
switch will only happen if the stream parameters match.
|
|
operationId: process-3-playout-stream
|
|
parameters:
|
|
- description: Process ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
- description: Process Input ID
|
|
in: path
|
|
name: inputid
|
|
required: true
|
|
type: string
|
|
- description: URL of the new stream
|
|
in: body
|
|
name: url
|
|
required: true
|
|
schema:
|
|
type: string
|
|
produces:
|
|
- text/plain
|
|
- application/json
|
|
responses:
|
|
"204":
|
|
description: No Content
|
|
schema:
|
|
type: string
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Switch to a new stream
|
|
/api/v3/process/{id}/probe:
|
|
get:
|
|
description: Probe an existing process to get a detailed stream information
|
|
on the inputs
|
|
operationId: process-3-probe
|
|
parameters:
|
|
- description: Process ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api.Probe'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Probe a process
|
|
/api/v3/process/{id}/report:
|
|
get:
|
|
description: Get the logs and the log history of a process
|
|
operationId: process-3-get-report
|
|
parameters:
|
|
- description: Process ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api.ProcessReport'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Get the logs of a process
|
|
/api/v3/process/{id}/state:
|
|
get:
|
|
description: Get the state and progress data of a process
|
|
operationId: process-3-get-state
|
|
parameters:
|
|
- description: Process ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api.ProcessState'
|
|
"400":
|
|
description: Bad Request
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Get the state of a process
|
|
/api/v3/rtmp:
|
|
get:
|
|
description: List all currently publishing RTMP streams
|
|
operationId: rtmp-3-list-channels
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
items:
|
|
$ref: '#/definitions/api.RTMPChannel'
|
|
type: array
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: List all publishing RTMP streams
|
|
/api/v3/session:
|
|
get:
|
|
description: Get a summary of all active and past sessions of the given collector
|
|
operationId: session-3-summary
|
|
parameters:
|
|
- description: Comma separated list of collectors
|
|
in: query
|
|
name: collectors
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Sessions summary
|
|
schema:
|
|
$ref: '#/definitions/api.SessionsSummary'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Get a summary of all active and past sessions
|
|
/api/v3/session/active:
|
|
get:
|
|
description: Get a minimal summary of all active sessions (i.e. number of sessions,
|
|
bandwidth)
|
|
operationId: session-3-current
|
|
parameters:
|
|
- description: Comma separated list of collectors
|
|
in: query
|
|
name: collectors
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Active sessions listing
|
|
schema:
|
|
$ref: '#/definitions/api.SessionsActive'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Get a minimal summary of all active sessions
|
|
/api/v3/skills:
|
|
get:
|
|
description: List all detected FFmpeg capabilities
|
|
operationId: skills-3
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api.Skills'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: FFmpeg capabilities
|
|
/api/v3/skills/reload:
|
|
get:
|
|
description: Refresh the available FFmpeg capabilities
|
|
operationId: skills-3-reload
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api.Skills'
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: Refresh FFmpeg capabilities
|
|
/api/v3/srt:
|
|
get:
|
|
description: List all currently publishing SRT streams. This endpoint is EXPERIMENTAL
|
|
and may change in future.
|
|
operationId: srt-3-list-channels
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
items:
|
|
$ref: '#/definitions/api.SRTChannels'
|
|
type: array
|
|
security:
|
|
- ApiKeyAuth: []
|
|
summary: List all publishing SRT treams
|
|
/api/v3/widget/process/{id}:
|
|
get:
|
|
description: Fetch minimal statistics about a process, which is not protected
|
|
by any auth.
|
|
operationId: widget-3-get
|
|
parameters:
|
|
- description: ID of a process
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api.WidgetProcess'
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
summary: Fetch minimal statistics about a process
|
|
/memfs/{path}:
|
|
delete:
|
|
description: Remove a file from the memory filesystem
|
|
operationId: memfs-delete-file
|
|
parameters:
|
|
- description: Path to file
|
|
in: path
|
|
name: path
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- text/plain
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
type: string
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- BasicAuth: []
|
|
summary: Remove a file from the memory filesystem
|
|
get:
|
|
description: Fetch a file from the memory filesystem
|
|
operationId: memfs-get-file
|
|
parameters:
|
|
- description: Path to file
|
|
in: path
|
|
name: path
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/data
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
type: file
|
|
"301":
|
|
description: Moved Permanently
|
|
schema:
|
|
type: string
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
summary: Fetch a file from the memory filesystem
|
|
put:
|
|
consumes:
|
|
- application/data
|
|
description: Writes or overwrites a file on the memory filesystem
|
|
operationId: memfs-put-file
|
|
parameters:
|
|
- description: Path to file
|
|
in: path
|
|
name: path
|
|
required: true
|
|
type: string
|
|
- description: File data
|
|
in: body
|
|
name: data
|
|
required: true
|
|
schema:
|
|
items:
|
|
type: integer
|
|
type: array
|
|
produces:
|
|
- text/plain
|
|
- application/json
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
schema:
|
|
type: string
|
|
"204":
|
|
description: No Content
|
|
schema:
|
|
type: string
|
|
"507":
|
|
description: Insufficient Storage
|
|
schema:
|
|
$ref: '#/definitions/api.Error'
|
|
security:
|
|
- BasicAuth: []
|
|
summary: Add a file to the memory filesystem
|
|
/metrics:
|
|
get:
|
|
description: Prometheus metrics
|
|
operationId: metrics
|
|
produces:
|
|
- text/plain
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
type: string
|
|
summary: Prometheus metrics
|
|
/ping:
|
|
get:
|
|
description: Liveliness check
|
|
operationId: ping
|
|
produces:
|
|
- text/plain
|
|
responses:
|
|
"200":
|
|
description: pong
|
|
schema:
|
|
type: string
|
|
summary: Liveliness check
|
|
/profiling:
|
|
get:
|
|
description: Retrieve profiling data from the application
|
|
operationId: profiling
|
|
produces:
|
|
- text/html
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
type: string
|
|
"404":
|
|
description: Not Found
|
|
schema:
|
|
type: string
|
|
summary: Retrieve profiling data from the application
|
|
securityDefinitions:
|
|
ApiKeyAuth:
|
|
in: header
|
|
name: Authorization
|
|
type: apiKey
|
|
ApiRefreshKeyAuth:
|
|
in: header
|
|
name: Authorization
|
|
type: apiKey
|
|
Auth0KeyAuth:
|
|
in: header
|
|
name: Authorization
|
|
type: apiKey
|
|
BasicAuth:
|
|
type: basic
|
|
swagger: "2.0"
|