Это классика. Ключевые элементы:
| Элемент | Функция |
|---|---|
| RTSP | Камера рассылает видео |
| FFmpeg | Преобразует в H.264/FMP4 |
| Nginx + RTMP‑модуль | Отдаёт поток пользователю через HTTP или HLS |
| HTML‑тег | Встраивает поток в страницу |
Многие камеры умеют отдавать MJPEG‑поток напрямую по HTTP. В таком случае нужно только разместить ссылку в разметке: <img src="http://IP:port/jpg" />. Это быстрее, но качество ниже, а ширина полосы пропускания растёт.
Существуют готовые веб‑интерфейсы, например Home Assistant (с расширяемыми виджетами). Они сами берут RTSP‑поток и выводят в браузер. Смотрите разделы с оборудованием – там можно найдёте камеры для DIY‑проекций.
nginx-rtmp-module:sudo apt update sudo apt install nginx git clone https://github.com/arut/nginx-rtmp-module.git cd nginx-rtmp-module ./configure --add-module=/path/to/nginx-rtmp-module make sudo make install
/etc/nginx/nginx.conf, добавив секцию rtmp { ... }.ffmpeg -i rtsp://cameraIP/stream -c:v copy -f flv rtmp://localhost/live/stream.<video src="http://yourserver/live/stream.m3u8" controls autoplay>.Большинство CMS позволяют вставить произвольный HTML. Вставьте тег
Если хотите скрыть URL потока, можете передать его через CDN или proxy‑сервер, но это выходит за рамки базовой настройки.
В России при хранении видео важно соблюдать правила Роскомнадзора и GDPR (если вы обслуживаете граждан ЕС). Убедитесь, что доступ к потоку ограничен паролем или сетевыми ACL. К тому же все соединения с камерой и сайтом лучше шифровать HTTPS.
Если собираетесь использовать публичный поток, проверьте, что ваш сервер поддерживает TLS (Let's Encrypt легко интегрируется с Nginx). При работе с камерой, которая запрашивает RTSP с паролем, добавьте rtsp://user:pass@ip/stream в FFmpeg‑команду.
С бесплатным ПО не надо платить за лицензии. Единственные расходы — оборудование (камера, сервер) и трафик. При работе с несколькими потоками можно запускать их на одном физическом сервере, если он имеет достаточно CPU и RAM. Если же трафик большой, аренда облачного сервера может оказаться дороже, но экономия в лицензиях обычно компенсирует.
| Пункт | Контроль |
|---|---|
| Качество камеры | Проверьте разрешение, частоту кадров, наличие ночного режима. |
| Скорость сети | Ping минимум 5 ms, пропускная способность 5 Mbps на поток. |
| Настройки Nginx | Порт 1935 открытый + HLS‑поток по 80/443. |
| Безопасность | Пароли, HTTPS, настройка ACL. |
| Консультация с юристом | Удостоверьтесь, что видео не нарушает личных прав. |
Для бытовых систем можно взять IP‑камеру с поддержкой RTSP в разделе Системы видеонаблюдения. Там есть как дешевая модель до 100 рублей, так и более качественные камеры с высоким разрешением. Если нужна запись, подключите любой DVR из каталога – они тоже работают с Nginx через RTSP.
Постройте свою систему, поиграйте с потоками, добавьте пару строк CSS, и вы получите живой экран прямо на главной. Это совсем не сложно, а результат полностью в ваших руках.
