Versions Compared

Key

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

...

REST-метод

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

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

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

Описание

/hls/startup

Code Block
languagejs
themeRDark
{
  "name":"test"
}

200 - OK

404 - Stream not found

500 - Internal error


Запустить HLS нарезку указанного потока


/hls/find_all


Code Block
languagejs
themeRDark
{
  "test": {
    "handler": "com.flashphoner.server.client.handler.wcs4.WCS4Handler@74dbf27b",
    "state": "ACTIVE",
    "writer": "HLS-test",
    "streamStatus": "PLAYING",
    "writerStarted": "true",
    "logs": }
}

200 – OK

404 – Not found

Найти все потоки, для которых есть HLS нарезки

/hls/terminate

Code Block
languagejs
themeRDark
{
  "name":"test"
}

200 – OK

404 – Not found

Завершить или перезапустить HLS нарезку указанного потока

Параметры

...

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

...

Описание

...

Пример

...

name

...

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

...

test

Особенности

1. Если HLS нарезка потока запущена при помощи REST запроса /hls/startup, и нет активных HLS подписчиков, нарезка остановится по истечении интервала в секундах

Code Block
themeRDark
hls_manager_provider_timeout=300

...

[
      "2023-07-18T10:22:52.457 WARNING: Playback speed changed to 0.779, segment 49, media type: video",
      "2023-07-18T10:22:56.614 WARNING: Gap{from=112000, to=114000, duration=2000}, media type: video",
      "2023-07-18T10:22:56.615 WARNING: Fps changed from 30 to 27, segment 50 , media type: video",
      "2023-07-18T10:22:56.624 WARNING: Segment 51.1 have no data, pts 112400, duration 400, media type: video",
      ...
    ]
  }
}

200 – OK

404 – Not found

Найти все потоки, для которых есть HLS нарезки

/hls/terminate

Code Block
languagejs
themeRDark
{
  "name":"test"
}

200 – OK

404 – Not found

Завершить или перезапустить HLS нарезку указанного потока

Параметры

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

Описание

Пример

name

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

test

stateСтатус HLS нарезкиACTIVE
logsСообщения о проблемах с HLS потоком[]

Особенности

1. Если HLS нарезка потока запущена при помощи REST запроса /hls/startup, и нет активных HLS подписчиков, нарезка остановится по истечении интервала в секундах

Code Block
themeRDark
hls_manager_provider_timeout=300

По умолчанию, интервал составляет 5 минут. То же касается автоматически созданных HLS нарезок при установленной настройке

Code Block
themeRDark
hls_auto_start=true

2. Если HLS нарезка потока останавливается при помощи REST запроса /hls/terminate, и есть активные HLS подписчики, то нарезка будет перезапущена. При этом активные HLS подписчики должны повторно подключиться к потоку.

Отображение сообщений о проблемах с HLS потоком

В сборке 5.2.1709 добавлена возможность вывода сообщений о проблемах с HLS потоком в ответ на запрос /hls/find_all:

Code Block
languagejs
themeRDark
{
   "test": {
    "handler": "com.flashphoner.server.client.handler.wcs4.WCS4Handler@74dbf27b",
    "state": "ACTIVE",
    "writer": "HLS-test",
    "streamStatus": "PLAYING",
    "writerStarted": "true",
    "logs": [
      "2023-07-18T10:22:52.457 WARNING: Playback speed changed to 0.779, segment 49, media type: video",
      "2023-07-18T10:22:56.614 WARNING: Gap{from=112000, to=114000, duration=2000}, media type: video",
      "2023-07-18T10:22:56.615 WARNING: Fps changed from 30 to 27, segment 50 , media type: video",
      "2023-07-18T10:22:56.624 WARNING: Segment 51.1 have no data, pts 112400, duration 400, media type: video",
      ...
    ]
  }
}

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

Code Block
themeRDark
hls_metrics_autolog_start=true

...

size=50


Поддержка HLS ABR

Для потоков с видео (только видео или видео+аудио) WCS поддерживает HLS ABR в CDN (в этом случае качества кодируются на выделенном Transcoder сервере) и на одном узле.

...