Pull to refresh

Самое бюджетное видеонаблюдение на даче

Reading time 4 min
Views 76K
Привет, Geektimes! Хочу поделиться моим опытом в организации очень бюджетного видеонаблюдения на даче c 3G с возможностью просмотра онлайн и сохранению архива.

Так как с видеонаблюдением я ранее никогда не сталкивался, то решил начать с простого — купить лишь одну 2M камеру и далее протестировать и посмотреть что из это выйдет.

Почитал отзывов в инете, мой выбор пал вот на Этот экземпляр китайского производства. Устройство вещает по rtsp 1920*1080 с сжатием h264 основной поток и 540*340 второй поток.

image

Покупая устройство я предположил, что программу для записи видео с камеры я найду без проблем хоть под винду, хоть под линукс. В жизни все оказалось намного сложнее.

В моем распоряжении имелся комп с Intel Pentium D (2 core), 1 GB RAM, встроенная видюха, 250 ГБ хард. На момент получения камеры, жила на этом стареньком PC windows XP x86.

Также есть свисток МТС (на даче ловит 3G), есть хостинг с VDS сервером. Понятно, что с таким багажом о качественном видеонаблюдении говорить не приходится, но с чего-то надо же начинать.

Итак, я приступил к домашним тестам. Первое, что пришло в голову — это надо попробовать всеми известный сервис ivideon. Быстро регистрируемся, ставим софтинку, раз-два-три все готово, удобно и просто. Жаль что подобный сервис накладывает значительные ограничения на бесплатное использования, впринципе жить можно, но не удобно. Самая печаль это огромный объем передаваемых данных по исходящему аплинку, для 3Г многовато, нужен хороший инет, а его нет и не будет.

ZoneMinder

Когда то давно, ставили на работе данный софт, впечатление очень хорошее, много настроек работает хорошо.

К сожалению, до установки данного софта дело не дошло, так как, со слов людей, знакомых с ситуацией, сервис очень требовательный к ресурсам и на моем старом компе просто мог не взлететь, да и переустанавливать винду не хотелось. Оставил на крайний случай, если ничего не найду подходящего.

Axxon next

Судя по всему суровая софтина для суровых компаний. В бесплатной версии до 4-х камер и более никаких ограничений. В тестовом режиме весь функционал со всеми камерами, по пишет только с 8-00 до 20-00 (или что такое).

Честно говоря, юзабилити программы очень неудобное, но да фиг с ним, привыкнем. Столкнулся с проблемами: Пишет видео в один архив в своем формате — видео не достать просто так, не работает по рдп (необходим opengl >1.4). Последняя 4-ая версия не работает в вин ХП, 3-ая работает, но, блин только с консоли, по рдп не пройдет.

Xeoma

Софтина установилась на старое железо, заработало.

image

В целом софтина не особо удобная, но привыкнуть можно, дело времени.

Из «конструктора» можно собрать разные схемы, логику, добавить какие то обработчики, действия при появлении какого либо события. Но все это теряет смысл в бесплатной версии, где доступно лишь 3 модуля (в платной самой дешевой версии этих модулей уже 6). Один из них камера, один запись в архив. Можно прикрутить детектор движения, но к сожалению это не мой случай — железо не вытянет, просмотра онлайн не будет (об этом позже — решено выдавать статичную картинку по запросу, а не гнать весь трафик в инет).

Для меня также полезной оказалась возможность отредактировать частоту выдачи кадров на экран. Так как по рдп+3г аплинк не быстрый, выдача реальной картинки просто кладёт на глухо канал. В софтине поставил выдачу 1 кадр в минуту, можно выставить и другой, почаще/реже

FFMPEG

Самая последняя рабочая версия ffmpeg для Windows XP тут.

Вообще очень приятно, когда процесс полностью контролируется, но нужно много всего писать самому. Переподключение, ротация, проверка на зависание и тд. Писать самому не особо хотелось. А вот команда, для захвата потока и записи в файл может кому пригодится:

D:\ffmpeg\ffmpeg -i rtsp://192.168.1.10:554/user=admin_password=tlJwpbo6_channel=1_stream=0.sdp?real_stream -reset_timestamps 1 -vcodec copy -acodec copy -y  -f segment -segment_time 60   -segment_format mp4 "d:\Xeoma\video\vid-%%05d.mp4"

Грусть тоска с софтом господа. Грусть…

Но давайте вернемся к схеме включения всего это безобразия и разберемся что впринципе мы хотим и что можем сделать?

Имеем: 3г свисток. По факту, все операторы сотовой связи уже давно не предоставляют динамические ИП на свистки, а выдают серые адреса и натят. Попасть через инет на комп с 3G можно только через впн.

Но мы же хотим сделать все дешевле. Какой тариф выбрать? Какого оператора выбрать (ловит 3Г на моей даче у всех операторов — свезло)? Платить по 600р/мес за свисток нет желания. Посмотрел тарифы всех операторов — примерно у всех одно и тоже.

Решение было простым. Оказывается, у моего МТС-а есть опция «Поделись инетом» или как то так. Смысл в том, что платишь 100р в мес и делишься своим инетом на тарифе с другим номером. Вот по этому пути я и пошел.

Настроить впн-сервер на дебиане очень просто.

В биосе компа ставим автовключение при возвращении питания, настриваем МТС-соединение через стандартные средства (как dial-up модем со звонком на *99#) и настраиваем поднятие впн после поднятия МТС-соединения. ГОТОВО! Связь есть, ВПН держит. Можно работать.

Для администрирования сервера достаточно подключиться через ссш тюнель сервера к порту 3389 (рдп) и нет никакой необходимости выставлять 3389 от винхп наружу с пробросом портов через хостинг.

Так как было решено, что выгружать весь архив мы не будем, то остается вопрос — как организовать онлайн просмотр.

Я сделал вот так:

На компе с виндной поставил запись основного потока непрерывно, а дополнительный граблю раз в 30 секунд. Делается это для того, чтобы быстро найти интересующий примерный участок времени, а потом медленно и неспешно тянуть видео файлы по 3Г. На сервер установил апач, php натравил его на директорию с видео фото и включил опцию индексации содержимого директории.
На хостинге приемнике (Куда мы соединяемся по впн) настраиваем форвардинг портов:

ProxyPreserveHost On
#ProxyRequests Off

ProxyPass / http://192.168.1.30/
ProxyPassReverse / http://192.168.1.30/

Где 192.168.1.30 это адрес, который мы получили по pptpd.

Для отображения файлов с потока я выбрал такую концепцию:

Онлайн будем хватать один кадр с доп потока в качестве ниже 2МП. Для просмотра картинки в высокой четкости настроим ротацию файлов основного потока раз в минуту (потом так же будет проще качать файлы) и будем выполнять захват кадра с последнего завершенного видео. Таким образом максимальный лаг HD картинки будет составлять 2 минуты, что, вцелом, нормально.

Для получения снапшота с видео файла используем такой код на php:

shell_exec ("D:\scripts\convert.cmd $file");

Ну и сам процесс получения снапшота:

D:\ffmpeg\ffmpeg -y  -loglevel 0   -i %1 -ss 00:00:1.1 -r 1 -vframes 1  D:\Xeoma\last.jpeg

Итого по затратам:

— Камера 2500
— Инет 100р/мес
— Потребление компом электричества 24/7 = 100Вт*24*30 *4р/квч=288р/мес
— Старый комп (был в наличии) = 3000р
— VDS Хостинг с возможностью приема впн (был) = 2400/год
Наверно не бывает дешевле :)

Надеюсь, данная статья будет кому-либо полезна
Tags:
Hubs:
+24
Comments 56
Comments Comments 56

Articles