VIDEOCAMERA LIVE

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

RTSP — это «язык», на котором IP-камера отдаёт видео. Браузеры его не понимают, поэтому ссылку камеры нельзя просто вставить на сайт: между ними нужен сервер, который переведёт поток в формат для браузера.

RTSP в двух словах

RTSP (Real Time Streaming Protocol) — протокол, по которому видеорегистратор (NVR/DVR), программа видеонаблюдения или обычный VLC запрашивает у камеры видеопоток. Он похож на пульт от телевизора: клиент говорит камере «опиши свои потоки», «подготовь», «начинай» (команды DESCRIBE, SETUP, PLAY). Само видео идёт отдельно, RTP-пакетами, а в пакетах — сжатое изображение, почти всегда H.264 или H.265.

RTSP поддерживают практически все IP-камеры и регистраторы: Hikvision, Dahua, Uniview, Axis, Hanwha и другие. Именно так регистратор собирает видео с камер. Стандартный порт — 554.

Из чего состоит RTSP-ссылка

RTSP-ссылка похожа на обычный веб-адрес, только начинается с rtsp:// вместо http:// и может содержать логин и пароль камеры:

rtsp://viewer:Pa55word@203.0.113.10:554/Streaming/Channels/101
ЧастьПримерЧто означает
Схемаrtsp://Протокол
ЛогинviewerПользователь камеры — лучше отдельный, только с правом просмотра
ПарольPa55wordПароль этого пользователя
Адрес203.0.113.10Публичный IP камеры или роутера либо доменное имя
Порт554RTSP-порт; если не указан, подразумевается 554
Путь/Streaming/Channels/101Конкретный поток внутри камеры; у каждого производителя свой

Путь зависит от производителя: у Hikvision это /Streaming/Channels/101, у Dahua — /cam/realmonitor?channel=1&subtype=0, у Uniview — /unicast/c1/s0/live. Полная таблица и способы поиска — в статье Как найти RTSP-ссылку.

Большинство камер отдают два потока: основной (main stream) в полном разрешении и дополнительный (sub stream) — с меньшим разрешением и битрейтом. Дополнительный поток выручает, когда на объекте низкая скорость отдачи.

Почему браузер не воспроизводит RTSP

Chrome, Safari, Firefox и Edge принимают видео только по HTTP(S) и WebRTC. RTSP — отдельный протокол, который работает напрямую поверх TCP и UDP, а веб-странице такие соединения открывать запрещено. Старые обходные пути — плагины VLC, QuickTime или ActiveX — браузеры давно отключили. Вставьте rtsp://-ссылку в адресную строку Chrome, и ничего не произойдёт.

Кроме браузера, у прямого вывода камеры на сайт есть ещё три проблемы:

  • Безопасность. Если бы зрители подключались к камере напрямую, каждому нужны были бы её IP-адрес и пароль. Для публичного сайта это недопустимо.
  • Канал. Каждый зритель забирал бы с камеры отдельный поток: десять зрителей — в десять раз больше исходящего трафика. Обычный интернет офиса или гостиницы этого не выдержит.
  • Кодек. Многие браузеры вообще не воспроизводят H.265.

Во что мы превращаем RTSP

Сервер VIDEOCAMERA LIVE сам подключается к вашей камере по RTSP и забирает один поток. Затем раздаёт его всем зрителям в понятном браузеру формате:

  • WebRTC (WHEP) — основной вариант: минимальная задержка, картинка почти в реальном времени.
  • LL-HLS — запасной путь, если сеть блокирует WebRTC (например, строгий корпоративный файрвол). Задержка чуть больше, зато проходит везде.

Видео с H.264-камеры, как правило, не пережимается, а только переупаковывается, поэтому качество остаётся таким, каким его отдаёт камера. H.265-камеры определяются автоматически и, пока кто-то смотрит, конвертируются в H.264; когда зрителей нет, конвертация останавливается. Подробнее — H.265 в браузере.

Зритель видит только наш плеер. IP-адрес и пароль камеры ему никогда не передаются, а пароль хранится на сервере в зашифрованном виде. Число зрителей не нагружает ваш интернет: с камеры по-прежнему идёт один поток.

TCP или UDP

Команды RTSP всегда идут по TCP. Само видео (RTP) можно передавать двумя способами:

  • TCP — видео идёт по тому же соединению, что и команды. Достаточно одного открытого порта, пакеты не теряются, проброс порта на роутере проходит без проблем. Для работы через интернет это надёжный выбор.
  • UDP — видео идёт по отдельным портам. В локальной сети чуть экономнее, но через интернет пакеты теряются (серые пятна и «рассыпающаяся» картинка), а NAT и файрволы он проходит с трудом.

У каждой камеры в кабинете есть выбор TCP/UDP, по умолчанию стоит TCP. Не меняйте его, если камера действительно не работает по TCP.

Что нужно камере, чтобы до нас дотянуться

Наш сервер находится в интернете, а камера обычно — в вашей локальной сети, на адресе вида 192.168.x.x. Чтобы сервер мог подключиться, камера или регистратор должны быть доступны снаружи: нужен публичный IP-адрес и проброшенный на роутере RTSP-порт — см. Проброс портов. Когда проверка подключения пройдёт, останется встроить камеру на сайт.

Откроется ли RTSP-ссылка, если вставить её в Chrome или Safari?

Нет. Браузеры не поддерживают RTSP. Проверить ссылку можно в VLC (Media → Open Network Stream), а для показа на сайте поток нужно сначала превратить в WebRTC или HLS — это и делает наш сервер.

Какой порт использует RTSP?

По умолчанию 554, по TCP. На некоторых камерах он изменён — проверьте сетевые настройки в веб-интерфейсе камеры (обычно Network → Port).

Поддерживает ли моя камера RTSP?

Подавляющее большинство IP-камер и регистраторов — да. Исключение — некоторые дешёвые Wi-Fi-камеры, работающие только через облачное приложение производителя. Проверьте инструкцию или см. Как найти RTSP-ссылку.

RTSP-поток шифруется?

Как правило, нет. Поэтому создайте на камере отдельного пользователя только с правом просмотра, смените заводской пароль, обновите прошивку и открывайте наружу только RTSP-порт — никогда не порты веб-админки 80/443/8000.

Какой поток выбрать: основной или дополнительный?

Основной, если позволяет скорость отдачи (примерно 3–4 Мбит/с на камеру для 1080p). На слабом канале дополнительный поток даст более стабильную трансляцию.

Запустите камеру на сайте уже сегодня

Зарегистрируйтесь, добавьте RTSP-ссылку и получите код для вставки. Есть вопросы? Позвоните — ответим.