- Что такое RTSP и почему он важен
- Как подключить камеру по RTSP
- Схема работы системы видеонаблюдения
- Настройка основных компонентов
- Как смотреть видео онлайн и из архива
- Практический пример: настройка одной камеры
- Почему стоит использовать RTSP и связку с nginx и motion
- Что делать, если камера не поддерживает RTSP
- Таблица сравнения протоколов для видеонаблюдения
- Полезные советы
- Итог
Представьте: вы хотите видеть, что происходит у вас дома или в офисе, прямо с телефона или компьютера. Но камера — это не просто глаз, а целая система, которая должна уметь разговаривать с вашим устройством. И тут на сцену выходит RTSP — протокол, который позволяет передавать видео в реальном времени. В этой статье вы узнаете, как подключить камеру по RTSP, настроить систему видеонаблюдения с обнаружением движения и организовать просмотр видео онлайн и из архива. Всё просто, понятно и с примерами!
Что такое RTSP и почему он важен
RTSP (Real Time Streaming Protocol) — это как дирижёр в оркестре видеонаблюдения. Он управляет потоками видео, чтобы вы могли смотреть картинку в реальном времени. Но не каждая камера умеет играть по его правилам. Поэтому первое, что нужно проверить — поддерживает ли ваша камера RTSP. Обычно эта информация есть в документации.
Как подключить камеру по RTSP
Чтобы подключить камеру, нужно знать её RTSP-адрес. Он выглядит примерно так:
rtsp://<имя_пользователя>:<пароль>@<IP-адрес>:<порт>/<путь_к_потоку>
Например, для камер Axis это может быть:
rtsp://root:password@192.168.0.90:554/mpeg4/media.amp
Совет: Если камера не поддерживает RTSP, то подключить её таким способом не получится.
Схема работы системы видеонаблюдения
Давайте представим, что у вас есть несколько камер. Они отправляют видео на сервер, который обрабатывает поток, обнаруживает движение, записывает видео и позволяет смотреть его онлайн и из архива.
Вот упрощённая схема:
| Камера | → | RTSP-сервер (ffserver) | → | RTMP-сервер (nginx) | → | Просмотр в браузере (HLS/RTMP) |
|---|---|---|---|---|---|---|
| → | Обнаружение движения (motion) | → | Запись архива |
Настройка основных компонентов
1. RTSP-сервер (ffserver)
Он принимает видеопоток с камер и передаёт дальше. Конфигурация простая:
RTSPPort 554
HTTPPort 8080
MaxClients 2000
MaxBandwidth 50000
<Feed cam1.ffm>
</Feed>
<Stream cam1>
Feed cam1.ffm
Format rtp
NoAudio
VideoSize 1280x720
</Stream>
2. Обнаружение движения (motion)
Программа, которая смотрит видео и понимает, когда что-то движется. Настройки:
event_gap 10
output_pictures off
ffmpeg_video_codec mp4
stream_port 0
webcontrol_port 8080
camera_dir /etc/motion/conf.d
Для каждой камеры создаётся отдельный конфиг с RTSP-адресом.
3. RTMP-сервер (nginx с модулем rtmp)
Он позволяет смотреть видео в браузере с минимальной задержкой.
rtmp {
server {
listen 1935;
application stream {
live on;
hls on;
hls_path /srv/http/hls;
exec_static ffmpeg -i rtsp://192.168.20.100/channel=1_stream=0 -c copy -f flv rtmp://127.0.0.1:1935/stream/cam1;
}
}
}
Как смотреть видео онлайн и из архива
Для просмотра используется HTML5-плеер Video.js, который поддерживает HLS и RTMP. Вот как это работает:
- Видео с камер транслируется через nginx.
- В браузере открывается страница с плеером и списком камер.
- Выбираете камеру — и смотрите видео в реальном времени.
- Для архива — отдельная страница с файлами записей.
Практический пример: настройка одной камеры
- Проверяем, что камера поддерживает RTSP и узнаём её адрес, например:
rtsp://admin:12345@192.168.1.10:554/stream1
-
Настраиваем ffserver, чтобы принимать поток с камеры.
-
Запускаем motion для обнаружения движения и записи видео.
-
Настраиваем nginx для трансляции RTMP и HLS.
-
Создаём страницу с Video.js для просмотра.
Почему стоит использовать RTSP и связку с nginx и motion
- RTSP — стандарт для передачи видео в реальном времени.
- motion — умный глаз, который не даст пропустить движение.
- nginx с RTMP-модулем — мощный и стабильный сервер для трансляций.
- Video.js — удобный плеер для браузера и мобильных устройств.
Что делать, если камера не поддерживает RTSP
Тогда можно попробовать:
- Использовать ПО производителя камеры.
- Подключить камеру через ONVIF (если поддерживается).
- Заменить камеру на модель с RTSP.
Таблица сравнения протоколов для видеонаблюдения
| Протокол | Задержка | Поддержка в браузерах | Особенности |
|---|---|---|---|
| RTSP | Минимальная | Нет (нужен плеер) | Прямой поток, требует сервер |
| RTMP | Минимальная | Flash (устаревший) | Хорош для стриминга |
| HLS | Высокая (секунды) | Да (HTML5) | Поддержка iOS, адаптивный |
Полезные советы
- Используйте RTSP с TCP транспортом для стабильности.
- Настраивайте motion с порогом чувствительности, чтобы не было ложных срабатываний.
- Для нескольких камер используйте RTSP-сервер, чтобы не перегружать камеры.
- Храните архив на отдельном диске, чтобы не потерять данные.
Итог
Подключить камеру по RTSP — не магия, а инженерия. С помощью ffserver, motion и nginx вы создадите мощную систему видеонаблюдения с обнаружением движения, онлайн-просмотром и архивом. Всё это — на вашем сервере, без лишних затрат и сложностей.
Теперь вы вооружены знаниями, чтобы сделать видеонаблюдение, которое не подведёт. Только представьте: вы в отпуске, а ваш дом под надёжной защитой, и вы видите всё, что происходит, одним взглядом на экран. Звучит круто, правда? Тогда вперёд — настраивать!