...
Информация о потоках, опубликованных на наблюдаемых узлах, может быть получена от бэкенд-сервера по REST API
Информация о потоках, опубликованных в данный момент
Информацию о потоках, опубликованных на наблюдаемых узлах в данный момент, можно получить при помощи REST API запроса /api/stream/list
...
API | Request | Response | Response status |
---|
WS API | |
...
SEND
destination:/app/api/stream/list
content-length:207
{
"requestId":"f2378c35-e7ca-4241-b382-29f696f0dddb",
"realm":"/api/stream/list",
"payload":
{
|
|
...
...
"mediaId":"f3ad4670-8e83-11e9-8386-dbc3d191a79a",
|
|
...
"name":"",
"publisher":"",
|
|
...
...
Здесь:
- node – идентификатор узла (обязательное поле)
- media – идентификатор медиасессии на узле
- name – имя потока
- publisher - идентификатор публикатора потока (для воспроизводимых потоков)
- status – статус потока (PENDING, PUBLISHING, PLAYING, UNPUBLISHED, STOPPED, FAILED)
Информация в ответ на запрос выбирается из кэша полученных метрик.
Ответ содержит следующие поля
...
...
| Code Block |
---|
| MESSAGE
destination:/user/service
content-type:application/json;charset=UTF-8
subscription:sub-1
message-id:3-35
content-length:210
{
"requestId":"f2378c35-e7ca-4241-b382-29f696f0dddb",
"status":200,
"reason":"SUCCESS",
"payload":[
{
"name": |
|
...
...
...
null,
"mediaId":"f3ad4670-8e83-11e9-8386-dbc3d191a79a",
|
|
...
...
...
...
...
| 200 OK 400 Object not found 500 Persist exception |
REST API | Code Block |
---|
| POST: /api/stream/list |
|
...
"application/json; charset=utf-8"
{
"node":"3",
"mediaId":"f3ad4670-8e83-11e9-8386-dbc3d191a79a",
"name":"",
"publisher":"",
"status":"",
"showClosed":false
} |
| Code Block |
---|
| {
"status": 200,
"reason": "SUCCESS",
"payload": [
|
|
...
...
...
...
...
...
...
"f3ad4670-8e83-11e9-8386-dbc3d191a79a",
" |
|
...
...
...
...
...
...
...
...
| 200 OK 400 Object not found 500 Persist exception |
Здесь:
- name – имя потока
- status – статус потока
- node – идентификатор узла (обязательное поле)
- mediaId – идентификатор медиасессии на узле
- name – имя потока
- age – возраст записи кэша для данного потока в миллисекундах
- publisher - идентификатор публикатора потока (для воспроизводимых потоков)
...
- status – статус потока (PENDING, PUBLISHING, PLAYING, UNPUBLISHED, STOPPED, FAILED)
- showClosed - показывать из кэша потоки, которые были остановлены
Информация в ответ на запрос выбирается из кэша полученных метрик.
Статистика потоков
Статистику потоков, опубликованных на наблюдаемых узлах, можно получить при помощи REST API запроса /api/stream/history
...
API | Request | Response | Response status |
---|
WS API | |
...
SEND
destination:/app/api/stream/history
content-length:191
{
"requestId":"4a700886-a559-42b7-b43d-82679d8573d6",
"realm":"/api/stream/history",
"payload":
{
|
|
...
...
"mediaId":"f3ad4670-8e83-11e9-8386-dbc3d191a79a",
|
|
...
"name":"",
"publisher":"",
|
|
...
Здесь:
- node – идентификатор узла
- mediaId – идентификатор медиасессии на узле
- name – имя потока
- publisher - идентификатор публикатора потока (для воспроизводимых потоков)
- status – статус потока (PENDING, PUBLISHING, PLAYING, UNPUBLISHED, STOPPED, FAILED)
Если указан идентификатор узла, то ответ будет содержать информацию только о потоках на этом узле, в противном случае информацию о потоках на всех наблюдаемых узлах, соответствующих другим критериям запроса.
Ответ содержит следующие поля
...
...
Code Block |
---|
| MESSAGE
destination:/user/service
content-type:application/json;charset=UTF-8
subscription:sub-1
message-id:3-39
content-length:310
{
"requestId":"4a700886-a559-42b7-b43d-82679d8573d6",
"status":200,
"reason":"SUCCESS",
"payload":[
{
"id":265,
"name":"test",
"status":"UNPUBLISHED",
"mediaId":"f3ad4670-8e83-11e9-8386-dbc3d191a79a",
"createDate":"2019-06-14T09:08:20.560+0000",
"endDate":null,
"publisher":0,
"duration":598658,
"subscribers":[],
"node":3
}
]
} |
| 200 OK 400 Object not found 500 Persist exception |
REST API | Code Block |
---|
| POST: /api/stream/history "application/json; charset=utf-8"
{
"node":"3",
"mediaId":"f3ad4670-8e83-11e9-8386-dbc3d191a79a",
"name":"",
"publisher":"",
"status":""
} |
| Code Block |
---|
| {
"status": 200,
"reason": "SUCCESS",
"payload": [
{
"id": 265,
"name": "test",
|
|
...
...
...
...
...
...
...
...
...
...
...
...
"duration": 598658,
"subscribers": [],
|
|
...
...
| 200 OK 400 Object not found 500 Persist exception |
Здесь
...
:
- node – идентификатор узла
- mediaId – идентификатор медиасессии на узле
- name – имя потока
- publisher - идентификатор публикатора потока (для воспроизводимых потоков)
- status – статус потока mediaId (PENDING, PUBLISHING, PLAYING, UNPUBLISHED, STOPPED, FAILED)
- id – идентификатор медиасессии потока в БД бэкенда
- createDate – дата создания потока
- endDate – дата завершения публикации или воспроизведения потока
- publisher - идентификатор публикатора (для воспроизводимых потоков)duration - длительность потока
- subscribers - список идентификаторов подписчиков (для публикуемых потоков)node –
Если указан идентификатор узла
...
, то ответ будет содержать информацию только о потоках на этом узле, в противном случае информацию о потоках на всех наблюдаемых узлах, соответствующих другим критериям запроса.