Если вы пытаетесь смотреть видеонаблюдение с IP-камеры прямо в браузере, но натыкаетесь на «RTSP не поддерживается», вы не одиноки. В этой статье соберём рабочую схему: возьмём RTSP-поток, сделаем HLS и получите удобный стрим — с нормальным доступом из интернета.
Главная идея: RTSP-поток камеры нужно конвертировать в HLS
План такой: камера отдаёт rtsp-поток по порт, затем вы передаёте его в сервис конвертации, где из поток делают трансляция в HLS (обычно это плейлист .m3u8). После этого стрим можно вставлять в видео-плееры на сайте и смотреть в браузере без магии и плагинов.
Что понадобится (по-человечески)
Чтобы получить доступ к интернет-просмотру, вам почти всегда нужно закрыть четыре «узла» — как в механике: если один болт не затянут, всё скрипит.
- Камера: поддерживает RTSP (часто это стандартный 554 порт, но не всегда).
- Сеть: камера должна быть видна в вашей локальной сети (LAN).
- Роутер: либо вы открываете путь наружу через проброс портов, либо поднимаете защищённый доступ (VPN).
- Ссылка на RTSP: это тот самый «адрес**, по которому сервис заберёт видеопоток.
Как получить RTSP-ссылку на вашу ipкамера
RTSP-ссылка обычно выглядит как адрес, где есть логин/пароль, ipадрес, порт и путь к потоку. Формат зависит от устройство и производителя, но логика одна: «кто», «где», «какой поток».
Чтобы настроить правильно, сначала выясните два факта:
- Какой адрес у вашей ipадрес камеры в локальной сети (например, 192.168.x.x).
- Какой порт у RTSP (часто это 554, но бывает иначе).
Как проверить RTSP-порт и параметры: используйте настройки камеры или Onvif-подход (например, утилиты для обнаружения устройств). Когда параметры найдены, собираете ссылка и получаете RTSP, который сервис сможет конвертировать.
Коротко о типичных настройках, которые помогают получить стабильную запись/стрим:
- кодек H.264,
- разумный FPS (часто 25),
- понятный GOP (ключевые кадры).
Статический или динамический ipадрес: почему это важно
Вопрос «как узнать свой ваш статический адрес» всплывает не случайно: для стабильного доступа из интернет камера должна быть предсказуемой по адресу.
- Статический ipадрес: почти идеален — вы настраиваете один раз, и работает дольше.
- Динамический ipадрес: может меняться, и тогда ссылка в RTSP/пробросе портов «уезжает». Решение — сервисы привязки имени к IP или VPN-схема.
Отдельный случай — «серый» ipадрес (локальные диапазоны типа 192.168.x.x): его нельзя прямо пробросить так, будто он внешний. Поэтому нужен правильный путь доступа: роутер с корректной маршрутизацией или VPN.
Если нужен доступ из интернета: настройка роутер и порт-маппинг
Когда камера сидит в локальной сети, а вы хотите смотреть извне, настраивается проброс портов — это и есть «порт-маппинг».
Логика простая: внешний запрос приходит на внешний порт роутера, роутер пересылает его на внутренний ipадрес камеры и тот же RTSP порт (часто 554).
Что важно при настройке:
- у камеры должен быть фиксированный внутренний адрес (лучше резервирование в DHCP),
- каждому устройству — свой внешний порт, если камер несколько.
Пример здравого смысла для нескольких устройство:
- камера 1: внешний порт 554 → внутренняя 192.168.1.100:554
- камера 2: внешний порт 555 → внутренняя 192.168.1.101:554
И да: иначе получится конфликт — два устройства «дерутся» за один вход.
Когда проброс портов не получается: VPN-схема
Если внешний адрес отсутствует или «серый» IP мешает нормально пробросить интернет, рабочий вариант — VPN. Схема выглядит так:
- сервер (например, на VPS/хостинге) поднимает VPN-туннель,
- роутер внутри сети открывает камеру для VPN-доступа,
- дальше видеопоток доходит до вашего медиа-сервера или конвертера уже через защищённый маршрут.
Так вы обходитесь без прямого публичного доступа к камере, а значит меньше «дыр» наружу и меньше боли.
Почему браузеры не поддерживают RTSP напрямую
Вы, вероятно, пробовали открыть RTSP «как есть». И получали разочарование. Причина банальна и сурова: браузер не умеет безопасно и удобно проигрывать RTSP-поток напрямую. Поэтому RTSP трансляция должна быть преобразована в HLS — это стандартный формат для web-плееров.
И вот тут в игру вступает конвертация: сервис берёт ваш RTSP и отдаёт готовый HLS (часто это M3U8).
Создание HLS-трансляции: конвертируем RTSP в web-формат
Как это обычно выглядит по шагам (без лишней лирики):
- В поле сервис/конвертера указываете rtsp-ссылку на вашу камера.
- Добавляете доступ (почта/учётка) и выбираете регион/расположение сервера — это влияет на задержку.
- Нажимаете запуск создание вещания.
- Получаете готовые параметры для встраивания: это и есть то, что превращает ваш поток в «нормальный» web стрим.
После старта вы получаете то, что можно вставлять на страницу как HTML-код видео.
Встраивание: как вставить трансляцию на сайт (iframe)
Когда HLS уже готов, обычно вы получаете готовый фрейм для встраивания (iframe). Вы вставляете его на страницу, и посетители видят видео в браузере.
Важно понимать: вы не «встраиваете RTSP». Вы встраиваете HLS-представление — поэтому всё работает.
Практические настройки, чтобы поток не “умирал” на середине
Чтобы настроить стабильнее, держите в голове такие принципы:
- RTSP должен открываться из места, где идёт конвертация (снаружи через проброс или внутри через VPN).
- порт должен совпадать в двух местах: в ссылке и в роутере.
- Кодек лучше H.264.
- Если есть звук — его тоже стоит учитывать, чтобы не получить рассинхрон ожиданий.
Таблица: самый частый путь “RTSP → HLS” и где обычно ломается
| Ситуация | Что делаете | Частая проблема | Что исправляет |
|---|---|---|---|
| Камера с белым внешним IP | Проброс портов на роутере и отдаёте RTSP | RTSP-ссылка не открывается с сервера конвертации | сверка ip и порт, корректный проброс |
| Камера с динамическим IP | Привязка домена/сервиса или VPN | адрес меняется — трансляция пропадает | постоянная адресация или VPN |
| Камера с “серым” IP | VPN-схема до конвертера | вы пытались открыть локальный адрес извне | доступ через туннель |
| Браузер не играет RTSP | Конвертируете в HLS | «видео не запускается» | только HLS (M3U8) для web |
Итог: что вы в итоге получаете
Когда RTSP поток от камера успешно доходит до конвертера, вы получаете трансляция в HLS, которую легко встроить в сайт. Это тот случай, когда инженерия превращает «не работает» в «работает в браузере», и вы больше не зависите от капризов плееров.
А ещё это красиво: один раз настроить, и ваша камера становится настоящим стримом для просмотра из интернет, а не просто железкой в локальной сети.