Как я знаю, проводя некоторые исследования,
популярная платформа потокового вещания на основе CDN (например, twitch.tv, youtube live ) обеспечивает
рекомендуемые настройки кодера (разрешение, битрейт, кадр / с) для вещателей
кто использует расширенный программный кодировщик (например, 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 также имеют собственную логику управления битрейтом.
Однако я не смог найти какие-либо документы или информацию о них, а также не смог найти их, для случая, когда вещатели используют усовершенствованный кодировщик для лучшей трансляции в реальном времени.