1 заметка с тегом

simplemjpegview

Установка видеонаблюдения

Первоначальные испытания

Все подготовительные работы завершены, камера установлена, программное обеспечение тоже. Все работает, все снимает, можно просматривать в «онлайн» режиме. А теперь как все это было.
Установка кронштейна для камеры никаких проблем не вызвала — пробурил три отверстия, два их них пришлось делать неглубокими, бур во что-то уперся и ни в какую не хотел идти дальше. Ладно, мне и половинной глубины хватит, камера легкая. После закрепления камеры проверил как она держится и остался вполне доволен результатом. Кабель для подключения со стоны камеры был распаян еще раньше, поэтому мне оставалось только осуществить подключение. Затем проложил его до сервера, обрезал лишнее, распаял второй конец и подключил к серверу. Во избежание лишних проблем сервер перед подключением выключил.
Затем настала очередь программного обеспечения. Поначалу был установлен ZoneMinder. Настроил его на использование сигнала с ТВ-тюнера, указал с какого входа его брать и... в принципе, на этом основная настройка была завершена. Но потом я несколько дней бился с проблемой отображения «живой» картинки с камеры — ее просто не было. И так подходил к проблеме, и этак — ни в какую. Общение на форуме с одним из разработчиков показало, что мне не хватает... видеокарты в сервере. Этот момент я слегка не понял, но, в любом случае, покупка и установка дополнительных плат в сервер меня не устраивала. К тому же в ZoneMinder обнаружился еще несколько моментов, которые меня тоже не устраивали:

  1. создание нескольких событий (и, соответственно, видеофайлов) в журнале, если в движении была пауза;
  2. всё событие сохранялось в куче jpeg-файлов (момент спорный, но все же);
  3. не было также нормального отображения события в формате видео;
  4. для выгрузки/создания видеофайла нужно было лезть достаточно далеко, чтобы нажать соответствующую кнопку;
  5. нет возможности создать свою реакцию на событие.

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

  1. Есть возможность задать длительность паузы между двумя событиями. В этом случае два события считаются одним и записываются в один видеофайл;
  2. событие сохраняется в куче jpeg-файлов, которые, впрочем, затем можно удалить автоматически;
  3. есть «живой» просмотр камеры, наличие/отсутствие видеокарты не сказывается никак;
  4. видеофайл создается автоматически сразу по завершении события;
  5. на каждый «чих» можно задать свою реакцию.

С motion поначалу тоже пришлось поразбираться. Например, не мог понять почему jpeg-файлы создаются в максимальном качестве, а в видеофайле картинка в виде «квадратов». Решилось увеличением скорости потока видео. Размер видео оказался снова привязан к числу 16, но в файле конфигурации можно указать число кратное 8-ми. В этом случае программа изменит разрешение на ближайшее 16-тикратное. Были еще несколько моментов, но это были лично мои предпочтения, поэтому не буду их описывать.
Так как видео создается автоматически, оставалось только создать реакцию на конец создания видеофайла. В моем случае ей стало выполнение нескольких действий:

а) удаление «старых» файлов jpeg, из которых было создано видео;
б) отправка сообщения на электронную почту о событии с именем созданного файла.

Изначально сообщение «повесил» на одноименное событие, но оказалось, что оно происходит каждый кадр, поэтому писем было более сотни за раз.
Следующее, что мне захотелось, это просматривать камеру с телефона на android и с компьютера. Для телефона нашлась программа SimpleMjpegView. Единственным ее недостатком можно считать то, что показывать она может только одну камеру, для всех других придется переписывать путь подключения. Для Windows также нашлась «легкая» и простая в использовании программа SecurityCamViewer. Ее настройка, так же как и многих других подобных программ, производится в единственном конфигурационном файле, открыть который можно в обычном блокноте.
Еще одна «хотелка», которую я пока что не реализовал, остается выгрузка avi-файлов куда-нибудь в облако. Для пущей сохранности и увеличения доступности.