Адаптивная загрузка (публикация) битрейта для прямой трансляции

Насколько мне известно из некоторых исследований,
популярная платформа потокового вещания на основе CDN (например, twitch.tv, youtube live) предоставляет рекомендуемые настройки кодировщика (разрешение, битрейт, fps) для вещателей, использующих передовые программные кодировщики (например, obs, xsplit).
Прежде чем начать прямую трансляцию, вещатель должен проверить свою пропускную способность и выбрать одну из рекомендаций. И как только настройка кодировщика выбрана, ее нельзя изменить во время прямой трансляции.

Однако на стороне доставки существует популярная потоковая передача с адаптивным битрейтом (DASH, HLS), чтобы справиться с неоднородным состоянием пропускной способности зрителей.

[CDN based live streaming architecture]

<--------------Ingest Side------------------->    <------Delivery Side--->          
                    RTMP                                 HLS
[Broadcaster] ----------------> [Media Server]--->[CDN]--------> viewer 1
              constant bitrate                           | 720p
                                                   ABR   |-----> viewer 2
                                                         | 360p
                                                         |-----> viewer 3
                                                           240p

У меня вопрос:
почему платформа потокового вещания, такая как twitch, youtube live, не обеспечивает какой-либо адаптации битрейта во время загрузки на медиасервер?
Или они имеют контроль битрейта только в своих мобильных приложениях?
На мой взгляд, адаптивное изменение битрейта в соответствии с пропускной способностью издателя кажется необходимым и разумным в случае плохой сети или колебаний пропускной способности.

Есть ли какая-либо адаптация битрейта для прямой трансляции, о которой я не знаю?
Я знаю, что в системах видео в реальном времени (например, webRTC, Hangouts) есть своя логика управления для борьбы с перегрузками и пакетами потери.
Поэтому я предполагаю, что мобильные потоковые приложения для youtube live, twitch.tv также имеют свою собственную логику управления битрейтом.
Однако я не смог найти никаких документов или информации об этом, а также не смог найти любой, для случая, когда вещатели используют расширенный кодировщик, чтобы сделать прямую трансляцию более качественной.


person Jaehong Kim    schedule 22.03.2019    source источник


Ответы (1)


Есть ли какая-либо адаптация битрейта для прямой трансляции, о которой я не знаю?

да. Многие кодировщики (включая OBS) позволяют изменять битрейт на лету. Просто это не делается автоматически.

почему платформа потокового вещания, такая как twitch, youtube live, не обеспечивает какой-либо адаптации битрейта во время загрузки на медиасервер?

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

person szatmary    schedule 22.03.2019