Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Информация о потоках, опубликованных на наблюдаемых узлах, может быть получена от бэкенд-сервера по REST API

Информация о потоках, опубликованных в данный момент

Информацию о потоках, опубликованных на наблюдаемых узлах в данный момент, можно получить при помощи REST API запроса /api/stream/list

...

APIRequestResponseResponse status
WS API
Code Block
themeRDark

...

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":"",

...

Здесь:

  • node – идентификатор узла (обязательное поле)
  • media – идентификатор медиасессии на узле
  • name – имя потока
  • publisher - идентификатор публикатора потока (для воспроизводимых потоков)
  • status – статус потока (PENDING, PUBLISHING, PLAYING, UNPUBLISHED, STOPPED, FAILED)

Информация в ответ на запрос выбирается из кэша полученных метрик.

Ответ содержит следующие поля

...

languagejs
themeRDark

...

  "showClosed":false
 }
}
Code Block
themeRDark
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
Code Block
themeRDark
POST: /api/stream/list 

...

"application/json; charset=utf-8"
{
 "node":"3",
 "mediaId":"f3ad4670-8e83-11e9-8386-dbc3d191a79a",
 "name":"",
 "publisher":"",
 "status":"",
 "showClosed":false
}
Code Block
themeRDark
{
    "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

Здесь:

  • name – имя потока
  • status – статус потока
  • node – идентификатор узла (обязательное поле)
  • mediaId – идентификатор медиасессии на узле
  • name – имя потока
  • age – возраст записи кэша для данного потока в миллисекундах
  • publisher - идентификатор публикатора потока (для воспроизводимых потоков)

...

  • status – статус потока (PENDING, PUBLISHING, PLAYING, UNPUBLISHED, STOPPED, FAILED)
  • showClosed - показывать из кэша потоки, которые были остановлены

Информация в ответ на запрос выбирается из кэша полученных метрик.

Статистика потоков

Статистику потоков, опубликованных на наблюдаемых узлах, можно получить при помощи REST API запроса /api/stream/history

...

APIRequestResponseResponse status
WS API
Code Block
themeRDark

...

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":""
 }
}

Здесь:

  • node – идентификатор узла
  • mediaId – идентификатор медиасессии на узле
  • name – имя потока
  • publisher - идентификатор публикатора потока (для воспроизводимых потоков)
  • status – статус потока (PENDING, PUBLISHING, PLAYING, UNPUBLISHED, STOPPED, FAILED)

Если указан идентификатор узла, то ответ будет содержать информацию только о потоках на этом узле, в противном случае информацию о потоках на всех наблюдаемых узлах, соответствующих другим критериям запроса.

Ответ содержит следующие поля

...

languagejs
themeRDark

...

Code Block
themeRDark
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
themeRDark
POST: /api/stream/history "application/json; charset=utf-8"
{
 "node":"3",
 "mediaId":"f3ad4670-8e83-11e9-8386-dbc3d191a79a",
 "name":"",
 "publisher":"",
 "status":""
}
Code Block
themeRDark
{
    "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 – статус потока mediaId (PENDING, PUBLISHING, PLAYING, UNPUBLISHED, STOPPED, FAILED)
  • id – идентификатор медиасессии потока в БД бэкенда
  • createDate – дата создания потока
  • endDate – дата завершения публикации или воспроизведения потока
  • publisher - идентификатор публикатора (для воспроизводимых потоков)duration - длительность потока
  • subscribers - список идентификаторов подписчиков (для публикуемых потоков)node –

Если указан идентификатор узла

...

, то ответ будет содержать информацию только о потоках на этом узле, в противном случае информацию о потоках на всех наблюдаемых узлах, соответствующих другим критериям запроса.