Versions Compared

Key

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

...

REST-метод

Пример тела REST-запроса

Пример тела REST-ответа

Статусы ответа

/stream/find

Code Block
languagejs
themeRDark
{
   "name":"stream1",
   "published":true,
   "display":["metrics"]
}



Code Block
languagejs
themeRDark
[
  {
    "appKey": "flashStreamingApp",
    "sessionId": "/5192.129168.23.83:51309/95192.191168.130.39:1935",
    "mediaSessionId": "6af0baf1-f014-48d6-b285-c975951a402f",
    "name": "stream1",
    "published": true,
    "hasVideo": true,
    "hasAudio": true,
    "status": "PUBLISHING",
    "sdp": ...,
    "audioCodec": "mpeg4-generic/48000/2",
    "videoCodec": "H264",
    "record": false,
    "width": 640,
    "height": 360,
    "bitrate": 0,
    "minBitrate": 0,
    "maxBitrate": 0,
    "quality": 0,
    "history": false,
    "gop": 0,
    "fps": 0,
    "audioBitrate": 0,
    "codecImpl": "",
    "transport": "UDP",
    "cvoExtension": false,
    "createDate": 1616730493789,
    "mediaType": "publish",
    "mediaProvider": "Flash",
    "metrics": {
      "VIDEO_SYNC": 43688,
      "VIDEO_K_FRAMES": 22,
      "AUDIO_SYNC": 43712,
      "VIDEO_NACK": 0,
      "AUDIO_RATE": 129408,
      "AUDIO_LOST": 0,
      "VIDEO_LOST": 0,
      "VIDEO_CODEC": 119,
      "VIDEO_B_FRAMES": 0,
      "VIDEO_PLI": 0,
      "AUDIO_CODEC": 96,
      "VIDEO_RATE": 1187440,
      "VIDEO_WIDTH": 640,
      "VIDEO_GOP_SIZE": 48,
      "VIDEO_HEIGHT": 360,
      "VIDEO_FPS": 24,
      "VIDEO_P_FRAMES": 1027
    }
  }
]

200 - Данные получены

404 - Поток не найден

500 - Неверные параметры запроса

...

Имя параметра

Описание

Пример

displayДополнительные параметры, которые должны быть отображены в ответе["metrics"]

mediaSessionId

Идентификатор медиасессии

6af0baf1-f014-48d6-b285-c975951a402f

nameИмя потокаstream1
publishedПубликация или воспроизведениеtrue
hasVideoЕсть ли видео в потоке?true
hasAudioЕсть ли аудио в потоке?true
statusСтатус потокаPUBLISHING
sdpSDP потока
audioCodecАудио кодекmpeg4-generic
videoCodecВидео кодекH264
recordВедется ли запись потокаfalse
widthШирина картинки, с которой опубликован поток640
heightВысота картинки, с которой опубликован поток360
transportИспользуемый транспорт WebRTC или MPEG-TS потокаUDP
cvoExtensionИспользуется ли WebRTC расширение для ориентации картинкиfalse
createDateДата создания потока1616730493789
mediaTypeТип потока: публикация или воспроизведениеpublish
mediaProviderСпособ публикации или проигрывания (Flash для RTMP)Flash
minBitrateПараметры транскодера, созданного по REST API
maxBitrate
quality
gop
fps
audioBitrate
codecImpl

Отображение параметров аудио кодека

В сборке 5.2.1619 добавлено отображение частоты дискретизации и количества каналов аудио дорожки:

Code Block
languagejs
themeRDark
{
    ...,
    "name": "stream1",
    ...,
    "audioCodec": "mpeg4-generic/48000/2",
    "videoCodec": "H264",
    ...
}

Если аудио в потоке нет, audioCodec не отображается.

Отображение статистики восстановления аудио пакетов

В сборке 5.2.2066 добавлено отображение статистики восстановления аудио пакетов по запросу

Code Block
languagejs
themeRDark
POST /rest-api/stream/find HTTP/1.1
Host: localhost:8081
Content-Type: application/json

{
   "name":"stream1",
   "published":true,
   "display":["red"]
}

Пример статистики для опубликованного потока

Code Block
languagejs
themeRDark
{
    ...,
    "name": "stream1",
    ...,
    "red": {
        "output": {
            "totalRedundantBytes": 0,
            "totalRedundantPackets": 0
        },
        "input": {
            "totalRedundantBytes": 862151,
            "usedRedundantBytes": 24115,
            "totalRedundantPackets": 24633,
            "usedRedundantPackets": 689
        }
    }
}

Здесь:

  • totalRedundantBytes - количество байтов избыточной информации для восстановления аудиоданных
  • usedRedundantBytes - количество использованных байтов избыточной информации
  • totalRedundantPackets - количество пакетов избыточной информации для восстановления аудиоданных
  • usedRedundantPackets - количество использованных пакетов избыточной информации

Статистика будет ненулевой только в том случае, если включена поддержка избыточности для восстановления потерянного аудио (RED)

Code Block
themeRDark
codecs=red,opus,...

Получение метрик потока

Доступные метрики

Метрика

Описание

VIDEO_HEIGHT

Высота видео, пикс

VIDEO_WIDTH

Ширина видео, пикс

VIDEO_RATE

Битрейт видео, бит/с

VIDEO_SYNC

Синхронизация видео

VIDEO_FPS

Частота кадров видео

VIDEO_NACK

Количество NACK-запросов

VIDEO_PLI

Количество PLI-пакетов

VIDEO_CODEC

Видеокодек

VIDEO_K_FRAMESКоличество ключевых кадров (I-frames) видео
VIDEO_P_FRAMESКоличество P-кадров видео
VIDEO_B_FRAMESКоличество B-кадров видео
VIDEO_GOP_SIZEКоличество кадров в последней группе между ключевыми кадрами
VIDEO_LOSTКоличество потерянных пакетов видео

AUDIO_SYNC

Синхронизация аудио

AUDIO_RATE

Битрейт аудио, бит/с

AUDIO_LOST

Количество потерянных пакетов аудио

AUDIO_CODEC

Аудиокодек

...