Первоначальные испытания
Все подготовительные работы завершены, камера установлена, программное обеспечение тоже. Все работает, все снимает, можно просматривать в «онлайн» режиме. А теперь как все это было.
Установка кронштейна для камеры никаких проблем не вызвала — пробурил три отверстия, два их них пришлось делать неглубокими, бур во что-то уперся и ни в какую не хотел идти дальше. Ладно, мне и половинной глубины хватит, камера легкая. После закрепления камеры проверил как она держится и остался вполне доволен результатом. Кабель для подключения со стоны камеры был распаян еще раньше, поэтому мне оставалось только осуществить подключение. Затем проложил его до сервера, обрезал лишнее, распаял второй конец и подключил к серверу. Во избежание лишних проблем сервер перед подключением выключил.
Затем настала очередь программного обеспечения. Поначалу был установлен ZoneMinder. Настроил его на использование сигнала с ТВ-тюнера, указал с какого входа его брать и... в принципе, на этом основная настройка была завершена. Но потом я несколько дней бился с проблемой отображения «живой» картинки с камеры — ее просто не было. И так подходил к проблеме, и этак — ни в какую. Общение на форуме с одним из разработчиков показало, что мне не хватает... видеокарты в сервере. Этот момент я слегка не понял, но, в любом случае, покупка и установка дополнительных плат в сервер меня не устраивала. К тому же в ZoneMinder обнаружился еще несколько моментов, которые меня тоже не устраивали:
- создание нескольких событий (и, соответственно, видеофайлов) в журнале, если в движении была пауза;
- всё событие сохранялось в куче jpeg-файлов (момент спорный, но все же);
- не было также нормального отображения события в формате видео;
- для выгрузки/создания видеофайла нужно было лезть достаточно далеко, чтобы нажать соответствующую кнопку;
- нет возможности создать свою реакцию на событие.
Через несколько дней опытов был установлен motion. Несмотря на всю свою аскетичность, эта программа мне понравилась намного больше.
- Есть возможность задать длительность паузы между двумя событиями. В этом случае два события считаются одним и записываются в один видеофайл;
- событие сохраняется в куче jpeg-файлов, которые, впрочем, затем можно удалить автоматически;
- есть «живой» просмотр камеры, наличие/отсутствие видеокарты не сказывается никак;
- видеофайл создается автоматически сразу по завершении события;
- на каждый «чих» можно задать свою реакцию.
С motion поначалу тоже пришлось поразбираться. Например, не мог понять почему jpeg-файлы создаются в максимальном качестве, а в видеофайле картинка в виде «квадратов». Решилось увеличением скорости потока видео. Размер видео оказался снова привязан к числу 16, но в файле конфигурации можно указать число кратное 8-ми. В этом случае программа изменит разрешение на ближайшее 16-тикратное. Были еще несколько моментов, но это были лично мои предпочтения, поэтому не буду их описывать.
Так как видео создается автоматически, оставалось только создать реакцию на конец создания видеофайла. В моем случае ей стало выполнение нескольких действий:
а) удаление «старых» файлов jpeg, из которых было создано видео;
б) отправка сообщения на электронную почту о событии с именем созданного файла.
Изначально сообщение «повесил» на одноименное событие, но оказалось, что оно происходит каждый кадр, поэтому писем было более сотни за раз.
Следующее, что мне захотелось, это просматривать камеру с телефона на android и с компьютера. Для телефона нашлась программа SimpleMjpegView. Единственным ее недостатком можно считать то, что показывать она может только одну камеру, для всех других придется переписывать путь подключения. Для Windows также нашлась «легкая» и простая в использовании программа SecurityCamViewer. Ее настройка, так же как и многих других подобных программ, производится в единственном конфигурационном файле, открыть который можно в обычном блокноте.
Еще одна «хотелка», которую я пока что не реализовал, остается выгрузка avi-файлов куда-нибудь в облако. Для пущей сохранности и увеличения доступности.