Почему видео с камеры идёт с задержкой 5-30 секунд. Как уменьшить latency RTSP: настройки камеры, кодеков, буфера и протоколов.
Типичная задержка RTSP-камеры: 0.5-2 секунды при прямом подключении (VLC), 5-15 секунд при конвертации в HLS. Если задержка больше — проблема в настройках.
VLC → Инструменты → Настройки → Показать все → Ввод/Кодеки:
Или из командной строки:
UDP быстрее, но при потерях пакетов даёт артефакты. TCP надёжнее, а задержка при этом минимальна:
H.264 Baseline Profile кодируется и декодируется быстрее, чем High Profile или H.265. В настройках камеры: Видео → Кодек → H.264, Профиль → Baseline.
GOP (Group of Pictures) — расстояние между ключевыми кадрами. По умолчанию 50-100 кадров (2-4 сек). Уменьшите до 25 (1 сек) — снизит задержку, но увеличит битрейт.
Субпоток (Sub Stream) — пониженное разрешение (CIF/D1/720p). Меньше данных = меньше задержка. Особенно важно при медленном интернете.
Стандартный HLS: сегменты 6 сек, 3 сегмента в плейлисте = 18 сек задержка. LL-HLS: partial segments 200-500 мс, задержка 2-3 сек. RTSP.KZ использует оптимизированный HLS с минимальной задержкой.
Прямое подключение (VLC/FFplay): 0.5-2 секунды. Через HLS (браузер): 3-5 секунд при оптимальных настройках, 10-15 секунд при стандартных. Для видеонаблюдения 3-5 секунд — приемлемо.
VLC по умолчанию буферизует 1000 мс сетевого кеша. Уменьшите: Инструменты → Настройки → Все → Ввод/Кодеки → Кеширование сети → 200 мс. Также проверьте, что камера отдаёт H.264, а не H.265.
Используйте WebRTC вместо HLS: Janus Gateway или Ant Media Server. Или подключайтесь напрямую через VLC/FFplay с минимальным буфером (--network-caching=100).
Да, H.265 (HEVC) требует больше ресурсов на кодирование/декодирование. Задержка может быть на 100-500 мс больше, чем H.264. Если задержка критична — используйте H.264 Baseline.