Почему лагает Twitch

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

Но превосходными стримами любимых игроков не получится насладиться, если стрим лагает.

Почему? Что не так? Разве моих воображаемых 50 Mbit не достаточно? В чём дело?!

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

Рассказ может оказаться слишком техническим и сложным, если вам что-то не понятно - пожалуйста не стесняйтесь и задайте свои вопросы в комментариях!

Теория

Твич позволяет стримерам вещать с потоком грубо говоря не более 5 Мбит. Значит если у вас интернет 5 и более Mbit, вы не будете испытывать затруднений по этому пункту. Но даже если пропускная способность вашего интернета меньше - не отчаивайтесь, твич поддерживает опции качества.

Когда стримера смотрят больше +-50 человек, Твич начинает пережимать видео поток в потоки меньшего качества. У зрителей появляются опции выбора качества стрима.

Почему Твич ведёт себя именно так? Дело в том, что он пытается экономить ресурсы. По умолчанию сервису твича нужно просто переслать поток данных от стримера зрителям. Это относительно просто. А вот сжимать этот же поток в реальном времени в потоки разного качества - это огромная дополнительная нагрузка. Поэтому если стример не популярный, Твич не будет тратить на него свои ресурсы по пережатию его канала.

Нужно понимать, что пережатие выполняется не совсем моментально, поэтому видео потоки с не-Source (англ. Источник) качеством могут отставать от оригинального потока по времени на 10-30 секунд. Те, кто смотрят в оригинале всегда видят события первыми.

Итак, Твич пережимает оригинальный поток, который у стримеров обычно плавает от 1-3 Мбит до 4.5 Мбит (эквивалентно 1000-3000 Кбит до 4500 Кбит). И пережатый поток становится меньше. Вот какие цифры вы можете увидеть на обычном стриме:

  • Source 2800 Kb/s
  • High 1400 Kb/s
  • Medium 700 Kb/s
  • Low 500 Kb/s
  • Mobile 200 Kb/s

Так что смотреть стримы вы можете на интернете практически любой ширины канала.

Но стрим всё равно лагает!?

Да, пропускная способность - это не единственный параметр интернета. В следующую очередь давайте посмотрим на стабильность интернета, на пинги.

Мы нажмём правой кнопкой на стрим, кликнем там на пункт меню Video Playback Stats. Увидим подробную статистику. Скорее всего на каждый ваш лаг вы увидите красную полоску в графе Buffer Size. Т.е. стрим не успевает стабильно прогружаться.

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

Практика

  1. Лагать может из-за узкого канала
  2. Лагать может из-за нестабильного интернета
  3. Лагать может из-за нестабильного сетевого оборудования (перезагрузите роутер, компьютер, модем, свитч)
  4. Лагать может из-за загруженного процессора (чем выше качество, тем больше процессора требуется, чтобы воспроизвести стрим)
  5. Лагать может у конкретного стримера, проверьте на других стримах
  6. Причину лагов видно в окне статистики Video Playback Stats
  7. Для не-Source качества возможны более длинные буферы, поэтому даже при плохом интернете любое не-Source качество имеет хорошие шансы на то, чтобы не лагать

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