Открыть сервисСервис

Настройка задержки стрима в OBS Studio

Задержка стрима — временной интервал между событием на источнике (голос, видео, действие в игре) и его показом у зрителя на площадке (Twitch, YouTube, VK ВКонтакте). В OBS Studio этот параметр определяется комбинацией настроек кодирования, буферизации, сетевых протоколов и ограничений самой платформы. Уменьшение задержки требует согласованной правки нескольких параметров.

Из чего складывается задержка

Общая задержка (end-to-end latency) складывается из нескольких компонентов:

КомпонентТипичный вкладУправляемость в OBS
Захват и кодирование кадра (capture + encode)30–100 мсЧастично, через выбор кодека и пресета
Буферизация аудио/видео в OBS20–100 мсПолностью, настройки «Буфер для передачи»
Передача по сети (RTMP/SRT/RIST)100–500 мсЧастично, зависит от канала и протокола
Пакетирование и CDN площадки2–30 сНе управляется из OBS
Плеер зрителя (HLS/DASH)2–15 сЗависит от плеера и настроек площадки

Практически вся «жёсткая» задержка между OBS и сервером площадки — секунды — накапливается на стороне CDN и плеера. Внутренняя задержка OBS обычно составляет доли секунды.

Настройки OBS Studio

Режим вывода

В «Настройки → Вывод» при переключении в продвинутый режим доступны два варианта: «Простой» и «Продвинутый». Для управления задержкой используется продвинутый режим.

  • Кодек: x264 (аппаратный энкодер QSV/NVENC/AMF дают меньшую задержку кодирования, но требуют совместимого GPU).
  • Пресет x264: «ultrafast» или «superfast» снижают задержку энкодера, но увеличивают битрейт при том же качестве.
  • Тюнинг (tune): значение «zerolatency» оптимизирует x264 именно под минимальную задержку, отключая lookahead и двойную буферизацию кадров.
  • B-кадры: установка в 0 убирает задержку, связанную с предсказанием кадров.

Параметры стриминга

В той же вкладке «Стрим»:

  • Буфер для передачи (Stream Buffer): значение по умолчанию 6 секунд. Уменьшение до 1–2 секунд сокращает задержку, но повышает чувствительность к просадкам канала.
  • Протокол: RTMP — классика с задержкой 2–5 с; SRT и RIST поддерживают настраиваемую задержку (latency) на уровне транспортного слоя и лучше переносят нестабильную сеть.
  • Повторное подключение: при частых разрывах OBS буфер растёт — стабильный канал важнее агрессивного уменьшения буфера.

Аудиобуфер

В «Настройки → Аудио» параметр «Буфер аудио (мс)» по умолчанию равен 100 мс. Значение 20–40 мс уменьшает задержку звука, но на слабых системах может вызывать щелчки.

Настройки на стороне площадки

Twitch

Twitch поддерживает режим «Low Latency» — у зрителя в плеере включается уменьшенная буферизация (обычно 2–3 с вместо 15–20 с). Для этого:

  • в панели канала активируется Low Latency Mode;
  • в OBS рекомендуется RTMP с буфером 1–2 с;
  • чат в этом режиме работает быстрее, но при просадках возможны подвисания видео.

YouTube Live

YouTube разделяет трансляции на «Обычную» и «Низкую задержку» (Low Latency) и «Сверхнизкую» (Ultra Low Latency). Выбор делается в Studio при создании трансляции. Ultra Low Latency даёт 2–5 с, но ограничивает длину трансляции и отключает DVR.

VK ВКонтакте и RuTube

Российские площадки работают преимущественно по RTMP; задержка определяется их CDN и плеером и обычно составляет 5–15 с. Внутренние настройки OBS (буфер, пресет) влияют на этот показатель в пределах 1–2 с.

Сетевые требования

Уменьшение буфера выдвигает требования к каналу:

  • аплинк должен быть стабильным, без packet loss выше 0,5 %;
  • битрейт должен составлять не более 70 % реальной пропускной способности аплинка;
  • при нестабильном канале лучше использовать SRT с включённым FEC и задержкой, равной 3–4 кратному RTT.

Проверка результата

Для измерения фактической задержки используется метод «таймер в кадре»: на телефоне запускается секундомер, его изображение выводится в OBS как источник, а на втором устройстве открывается стрим. Разница показаний и есть суммарная задержка. Изменения в OBS вступают в силу после переподключения стрима.

Типичные ошибки

  • Агрессивное уменьшение буфера при нестабильном канале приводит к разрывам и кратковременному росту задержки до дефолтных значений.
  • Использование аппаратного энкодера без tune-профилей не даёт выигрыша по задержке кодирования.
  • Отключение B-кадров и «zerolatency» снижают эффективность сжатия — при том же качестве требуется больший битрейт.

Источники:

  • Документация OBS Studio (obsproject.com/kb)
  • Руководство Twitch Creator Camp по Low Latency
  • Документация YouTube Help «Latency modes for live streams»
  • Документация SRT Alliance (srtalliance.org)
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru