Видеонаблюдение с IP камерой TP-Link C100 в Linux c помощью Zone Minder по протоколу RTSP
7 марта 2024

Проблема
Все началось с приобретения IP камеры TP-Link C100 в силу ее дешевизны с целью присмотра за коридором из офиса. Основные недостатки этой камеры в том, что у нее нет Ethernet разъёма и настраивать ее можно только через приложение с мобильного телефона через сервис производителя. Однако, можно просматривать изображение с этой камеры по протоколу RTSP с помощью VLC плеера, для примера. Но, к сожалению, VLC плеер подглючивает, отстает и в итоге теряет соединение. Я начал, по началу, винить камеру, однако через мобильное приложение картинка была стабильной. В итоге я стал искать альтернативу VLC
Zoneminder
Zoneminder - веб приложение - система видеонаблюдения, которое может записывать видео, и ловить движение. Наличие docker образа упрощает установку и настройку приложения.
# docker-compose.yml version: '3.0' services: app: image: dlandon/zoneminder.unraid ports: - 8080:80 # на выбор restart: unless-stopped
Внимание! Во время первого запуска контейнера, он обновляет пакеты и это может занять достаточно много времени. У меня это заняло порядка 20-30 минут, поэтому, за происходящим надо наблюдать через
docker compose logs app
Когда сервер загрузиться, то надо добавить камеру
Камера называется тут Monitor
Камера называется тут Monitor
Важные настройки
Добавление новой камеры
На вкладке General
Function - как буде вести себя камера. Я выбрал Modest - записывает только события движения
На вкладке Source
Source Path - для моей камеры TP-Link C100
rtsp://user:password@ip:554/stream1
Естественно, что user, password и ip нужны свои. User и password настраиваются в приложении. Проверить этот адрес можно с помощью VLC player.
Capture Resolution - тоже надо указать
Capture Resolution - тоже надо указать
На вкладке Storage
Save JPEGs - Disabled
Video Writer - Camera Passthrough
Это помогает уменьшить размер записываемого материала. Если оставить по умолчанию, то размер будет в 10 раз больше.
Video Writer - Camera Passthrough
Это помогает уменьшить размер записываемого материала. Если оставить по умолчанию, то размер будет в 10 раз больше.