IO — Ivan Labs

Оптимизация видеопотока под слабое интернет-соединение

2 мин чтения
RefluxЖелезо

Слабое соединение не обязательно означает непригодный поток — это означает намеренные компромиссы по качеству вместо принятия того, что навязывает поток фиксированного качества.

Иерархия компромиссов, примерно по порядку влияния

Снижение битрейта обычно имеет лучшее соотношение «сохранённое качество на сэкономленный бит» — попробуйте это перед тем, как трогать разрешение или частоту кадров, поскольку хорошо сжатый поток с более низким битрейтом при полном разрешении часто выглядит заметно лучше, чем ожидают люди.

  1. Сначала снижайте битрейт. Современные кодеки справляются со снижением битрейта более изящно, чем предполагают люди — поток на 60% от изначального битрейта часто намного менее заметно хуже, чем звучит снижение битрейта на 60%.
  2. Затем снижайте частоту кадров, если контент это позволяет. Для шаринга экрана, презентаций или чего-либо, не являющегося быстрым движением, снижение с 30fps до около 20fps освобождает значимую пропускную способность с ограниченной воспринимаемой потерей качества.
  3. Разрешение снижайте в последнюю очередь. Это самое визуально очевидное изменение, так что это последний рычаг, а не первый.

Адаптивный битрейт: не выбирайте одно фиксированное качество

Вместо привязки к одному уровню качества на всю сессию, адаптивный битрейт стриминга непрерывно подстраивается на основе текущей доступной пропускной способности — кратковременно снижая качество во время плохого участка (вместо зависания/буферизации) и восстанавливая его, как только условия улучшаются. Это значимо лучший опыт, чем фиксированное высокое качество, периодически полностью зависающее.

Что реально вызывает худший опыт: зависания, а не низкое качество

Зритель гораздо лучше терпит более низкое качество, чем повторяющиеся зависания/буферизацию. Если вам приходится выбирать между «стабильно посредственным качеством» и «высоким качеством, периодически замирающим», стабильно посредственное качество почти всегда лучший опыт.

Это основной аргумент в пользу адаптивных подходов над фиксированным качеством — они активно избегают наихудшего опыта (зависания) за цену стабильности качества, что правильный компромисс почти для каждого реального зрителя.

Практический чек-лист для заведомо слабого соединения

НастройкаКогда использовать
Понизить битрейтПервый рычаг, наименее визуально разрушительный на сэкономленный бит
Понизить частоту кадровХорошо для контента без быстрого движения (шаринг экрана, презентации)
Понизить разрешениеПоследнее средство, самое визуально очевидное изменение
Адаптивный битрейт (если доступен)Почти всегда лучше, чем фиксированная настройка качества

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

Частые вопросы

Что понижать первым на плохом соединении — разрешение или битрейт?

Обычно сначала битрейт — поток с более низким битрейтом при том же разрешении часто выглядит лучше, чем ожидают люди, тогда как изменения разрешения визуально более резкие. Снижение битрейта также более прямой рычаг для реального использования пропускной способности.

Что такое адаптивный битрейт стриминга?

Техника, где поток автоматически подстраивает своё качество/битрейт в реальном времени на основе реально доступной зрителю пропускной способности — кратковременно снижая качество во время плохого участка, вместо полного зависания или буферизации, затем восстанавливая качество, как только позволяет пропускная способность.

Частота кадров важна так же, как разрешение, для слабого соединения?

Для большинства контента снижение частоты кадров (например, с 30fps до 20fps) менее заметно, чем снижение разрешения, и может освободить значимую пропускную способность — стоит рассмотреть перед снижением разрешения, особенно для случаев шаринга экрана, не являющихся быстрым движением видео.

Нужна помощь с этим?

Свяжитесь со мной, и я помогу разобраться.

Связаться со мной

Похожие статьи

Поделиться:X / TwitterLinkedIn