Информация о потоках, опубликованных на наблюдаемых узлах, может быть получена от бэкенд-сервера по 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": { "node":"3", "mediaId":"f3ad4670-8e83-11e9-8386-dbc3d191a79a", "name":"", "publisher":"", "status":"", "showClosed":false } } | 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":"test", "publisher":null, "mediaId":"f3ad4670-8e83-11e9-8386-dbc3d191a79a", "age":229, "status":"PUBLISHING" } ] } | 200 OK 400 Object not found 500 Persist exception |
REST API | POST: /api/stream/list "application/json; charset=utf-8" { "node":"3", "mediaId":"f3ad4670-8e83-11e9-8386-dbc3d191a79a", "name":"", "publisher":"", "status":"", "showClosed":false } | { "status": 200, "reason": "SUCCESS", "payload": [ { "name": "test", "publisher": null, "mediaId": "f3ad4670-8e83-11e9-8386-dbc3d191a79a", "age": 152, "status": "PUBLISHING" } ] } | 200 OK 400 Object not found 500 Persist exception |
Здесь:
- node – идентификатор узла (обязательное поле)
- mediaId – идентификатор медиасессии на узле
- name – имя потока
- age – возраст записи кэша для данного потока в миллисекундах
- publisher - идентификатор публикатора потока (для воспроизводимых потоков)
- status – статус потока (PENDING, PUBLISHING, PLAYING, UNPUBLISHED, STOPPED, FAILED)
- showClosed - показывать из кэша потоки, которые были остановлены
Информация в ответ на запрос выбирается из кэша полученных метрик.
Статистика потоков
Статистику потоков, опубликованных на наблюдаемых узлах, можно получить при помощи запроса /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": { "node":"3", "mediaId":"f3ad4670-8e83-11e9-8386-dbc3d191a79a", "name":"", "publisher":"", "status":"" } } | 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 | POST: /api/stream/history "application/json; charset=utf-8" { "node":"3", "mediaId":"f3ad4670-8e83-11e9-8386-dbc3d191a79a", "name":"", "publisher":"", "status":"" } | { "status": 200, "reason": "SUCCESS", "payload": [ { "id": 265, "name": "test", "status": "UNPUBLISHED", "mediaId": "f3ad4670-8e83-11e9-8386-dbc3d191a79a", "createDate": 1560503300560, "endDate": null, "publisher": 0, "duration": 598658, "subscribers": [], "node": 3 } ] } | 200 OK 400 Object not found 500 Persist exception |
Здесь:
- node – идентификатор узла
- mediaId – идентификатор медиасессии на узле
- name – имя потока
- publisher - идентификатор публикатора потока (для воспроизводимых потоков)
- status – статус потока (PENDING, PUBLISHING, PLAYING, UNPUBLISHED, STOPPED, FAILED)
- id – идентификатор потока в БД бэкенда
- createDate – дата создания потока
- endDate – дата завершения публикации или воспроизведения потока
- duration - длительность потока
- subscribers - список идентификаторов подписчиков (для публикуемых потоков)
Если указан идентификатор узла, то ответ будет содержать информацию только о потоках на этом узле, в противном случае информацию о потоках на всех наблюдаемых узлах, соответствующих другим критериям запроса.