/rest-api/v3/hls/startup
Нужны диаграммы
- HLS, не ABR, Single Node
- HLS, не ABR, в CDN
- HLS ABR, Single Node (транскодинг на этой же ноде)
- HLS ABR, в CDN (транскодинг на Edge)
- HLS ABR, в CDN (транскодинг на Transcoder)
/rest-api/v3/hls/startup
Нужны диаграммы
/rest-api/v3/call/terminate
Добавить 200 OK
Convert incoming RTP into an internal stream using toStream
Диаграмма.
Добавить участника Client, который играет стрим.
Playing stream
Добавить 200 OK
RTMP re-streaming using rtmpUrl
Диаграмма.
Pushing RTMP
Добавить 200 OK
/rest-api/v3/call/send_dtmf
Добавить 200 OK
/rest-api/v3/call/inject_stream/startup
Добавить 200 OK
/rest-api/v3/call/inject_sound
Диаграмма. Добавить 200 ОК.
/rest-api/v3/cdn/show_redundant_transcodings
По новым обозначениям должно быть так:
Publishing stream Pull stream Pulling stream Pull stream Pulling stream
/rest-api/v3/connection/set_log_level
Диаграмма.
3. HLS ABR (Single Node)
Тоже что 1 и 2 HLS. За основу просьба взять WebRTC ABR, где подписаны профили 720p, 360p
5. HLS ABR (CDN, Transcoder Node)
Замечания те же, что и к 1 и 2 HLS.
За основу просьба взять WebRTC ABR, показать что транскодинг на Транскодер - ноде, Edge пулит стрим с Транскодер, на Edge происходит конвертация HLS ABR.
4. HLS ABR (CDN, Edge Transcoding)
Замечания те же что и к диаграммам 1 и 2 HLS.
Также просьба взять за пример WebRTC ABR, где показано что вначале идет транскодинг по профилям, и далее конвертация в ABR.
2. HLS (CDN: Origin + Edge)
HLS Player Publishing stream Remove label "Stream already published" Converting to HLS - процесс Pull stream Pulling stream - Edge никогда не забирает стрим с Origin по HLS. Playing HLS chunks
Конвертация в HLS происходит на Edge
1. HLS (Single Node)
Publishing stream - лэйбл не нужен, везде без лэйблов
Converting stream to HLS - пунктирная стрелка
Вместо участника Client будет HLS Player, потому что наш Client не умеет играть HLS, а подключается в основном по вебсокету.
Вместо Origin - WCS, т.к. эта диаграмма вне контекста CDN.
Варианты:
Playing HLS chunks Playing HLS Playing HLS segments
т. к. playlist для пользователя может путаться с плейлистом плеера, где много записей.
/rest-api/v3/inject3/update
Publishing stream Playing stream Playing stream
Вопрос: файл 1 гигабайт будет загружаться и инжектиться прогрессивно? Если да, то:
Loading file - процесс пунктирной стрелочкой.
Если же ожидается полная загрузка файла перед инжектом, то - это запрос, сплошная стрелка.
2. Injection from remote file
Не отображается диаграмма
1. Injection from local file
Не отображается диаграмма
/rest-api/v3/pcap/startup
Диаграмма. Последовательность.
/rest-api/v3/pull/rtmp/startup
Диаграмма
Pull RTMP
Play - т. к. стрим можно играть не только по WebRTC, например по RTSP или HLS
Playing stream - т. к. стрим можно играть не только по WebRTC, например по RTSP или HLS
Additionally, the source stream can be adapted to the desired resolution (width × height) of the RTMP stream:
Transcoding stream
Label: Transcoding width height, gop, etc.
RTMP - это протокол, в него не транскодируют.
It is also possible to direct RTMP to another WCS:
ОК
/rest-api/v3/recorder/startup
Нужна диаграмма. Запись - это длительный процесс, который можно показать пунктирной стрелкой.
Capture VOD stream from a file hosted on a remote server (e.g., S3 or any HTTP server):
Request MP4 file - потому что Play, а не Plays
Downloading MP4 file - потому что процесс скачивания по HTTP может занять минуты, пунктирная стрелка.
Converting - пунктирная
Capture VOD stream from file
Converting MP4 file to stream т. к. это процесс
Playing stream
Файл можно загружать с S3 или с HTTP Server Поэтому можно добавить участника:
S3 or HTTP
/rest-api/v3/push/webrtc/startup
Диаграмма.
У нас стейт джоба завязан на агента, поэтому 200 OK вернет только тогда, когда агент без ошибок начнет Push.
Поэтому последовательность должна быть такой:
В остальном, вопросов нет.
/rest-api/v3/rtsp/startup
Диаграмма.
Pulling RTSP stream - т. к. может быть audio+video stream.
Converting RTSP to internal stream
Playing stream - т. к, стрим можно играть не только по WebRTC, а например по RTMP или HLS
/rest-api/v3/stream/rtc_metrics/update_all
200 OK
/rest-api/v3/transcoder2/set_watermark
Диаграмма - приввести к согласованному виду
/rest-api/v3/transcoder2/startup
Диаграмма:
Transcoding stream to target parameters - длительное действие
Publishing a stream
Playing stream - НЕ playback, НЕ Play, во всех схемах к одной терминологии
Adapts the stream for playback at different qualities:
По диаграмме:
Т. к. стрим может быть любым, например RTMP
2. Republish stream as WebRtc ABR - не верно, т. к. републикации не происходит.
Converting stream to WebRTC ABR
Стрим конвертируется в WebRTC ABR по профилям, поэтому можно добавить текст - в какие профили стрим конвертируется, например:
profiles: 720p, 360p
4. Play WebRTC ABR stream - лучше обозначать процесс
Playing WebRTC ABR stream
Здесь также можно добавить, что играют те же два профиля:
profiles: 720p, 360p
If CDN chain contains transcoder node, stream is converted on that node:
Предлагаю добавить:
Converting stream to WebRTC ABR
Чтобы показать, что конвертация происходит на Edge, в то время как транскодинг происходит на Transcoder
/rest-api/v3/call/inject_stream/terminate
Добавить 200 OK
/rest-api/v3/cdn/stream/access_list/add
Диаграмма.
Приводим к согласованному виду (стрелки, лэйблы).
/rest-api/v3/data/send
Нужна диаграмма.
Client - соединяется с сервером по вебсокету.
В сторону Client передается конкретное вебсокет сообщение, насколько помню OnDataEvent (проверить)
/rest-api/v3/data/batch_send
Нужна диаграмма.
Client1 Client2 - соединяются с сервером по вебсокету.
В сторону Client передается конкретное вебсокет сообщение, насколько помню OnDataEvent (проверить)
/rest-api/v3/inject2/startup
Диаграмма.
Удалить участников Edge/Injected Content, Original Stream
Переименовать участника Client > REST Client
Переименовать WCS Server > WCS
Добавить участников Client, HTTP Server
202 в 200
и т. д
Переделать диаграмму под согласованные требования.
/rest-api/v3/inject3/startup
Нужна диаграмма
inject3 - инжектит статику inject2 - инжектит стримы
Поэтому у них будут разные диаграммы.
/rest-api/v3/jobs/cancel
Диаграмма
/rest-api/v3/logger/enable_client_log
Нужна диаграмма:
/rest-api/v3/mixer/startup
Диаграмма
Publishing stream1
/mixer/startup
Mixer output stream 'mixed_stream' is created
200 OK
/mixer/add
stream1 is added to mixed_stream
200 OK
Playing mixed_stream
Label: The mixed_stream contains stream1 content
/rest-api/v3/mpegts/startup
Нужна диаграмма. В диаграмме должен быть участник ffmpeg, который публикует MPEG TS стрим на порт выделенный сервером и полученный в 200 OK.
/rest-api/v3/multi_recorder/startup
Нужна диаграмма, которая показывает как несколько стримов записываются в один MP4 файл в виде треков (дорожек). В этом случае, оправдано было бы показать MP4 файл как отдельного участника, чтобы подробно расписать как его треки (аудио видео) заполняются стримами. Например, если пишем в MP4 два стрима, в файле бует 4 трека.
/rest-api/v3/publisher/change_painter_strategy
Также нужна диаграмма, если изменения применяются в реальном времени и зритель увидит например зеленый квадрат вместо красного.
/rest-api/v3/publisher/startup
Нужна схема. На сервере запускается генератор, который длительно работает и генерит стрим.
/rest-api/v3/push/rtmp/sound_on
Нужна диаграмма, которая позволяет визуализировать вставку звука.
По-сути это инжект звука в push/rtmp ногу.
/rest-api/v3/push/rtmp/startup
Диаграмма.
Тот же вопрос что и push/webrtc
Последовательность должна быть:
Еще должна быть вторая диаграмма, т.к. если в параметрах будут указаны настройки width, height, то пуш пойдет с Транскодингом, т.е. появится еще один длительный процесс Transcoding перед Converting.
/rest-api/v3/rels/startup
Нужна диаграмма.
RELS метрики записываются в
ClickHouse - участник диаграммы.
/rest-api/v3/sfu/rtc_metrics/update_batch
Диаграмма. Что такое sfuCallback? Должно быть действительное вебсокет сообщение.
Например: webRtcMetricsUpdate (уточнить)
/rest-api/v3/sfu/rtc_metrics/update_all
Диаграмма. Что такое sfuCallback? Должно быть действительное вебсокет сообщение.
Например: webRtcMetricsUpdate (уточнить)
/rest-api/v3/stream/send_event
Нужна диаграмма, т.к Event доходит до клиента. Например можно отправить сообщение через stream и его получат все подписчики стрима.
Кроме того, Event может пропагироваться до Edge через CDN, но этот функционал надо уточнить. Если есть то также нужна схема.
/rest-api/v3/stream/rtc_metrics/update_batch
На диаграмме должно быть минимум Client 1, Client 2, т. к. диаграмма демонстрирует batch.
/rest-api/v3/transcoder/startup
Диаграмму к согласованному виду
Can request the stream from another node:
Здесь возможно два случая
Соответственно схемы будет две.