GoPro как видео-ловушка

GoPro как видео-ловушка (первая попытка)

Недавно я сделал из моей GoPro Hero7 Black фото-, а вернее видео-ловушку. На морозе батарейка садится менее чем за час, так что режим ожидания помогает съэкономить запас энергии, а заодно не нужно просматривать часы пустопорожних записей. Вот первая попытка заснять пичужку.

Обычно камеры GoPro не могут работать в таком режиме с фабрики, — их нужно «прошить», т.е. обновить код программы, ответственной за функциональность камеры (firmware). Прошивка эта экспериментальна, но не самопал. Это фирменная прошивка от GoPro Labs. Она имеет целый ряд изменений, но самая интересная из них — это motion detection, т.е. реагирование на движение.

Прошивка была анонсирована в Мае 2020 года и до сих пор серьезных жалоб не было. Кроме того, если вас что-то не устроит в этой прошивке вы всегда сможете вернуть родную прошивку GoPro. (Источник здесь.)

Инструкции с сайта производителя (англ.)

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

Ограничения

Из-за нагрузки на камеру обнаружение движения не будет работать корректно для 4K60, 2.7k120 и 1080p240. Триггер запуска будет работать, но после того, как камера начнет запись, она не сможет обнаружить остановку в движении. Для полной функциональности обнаружения движения используйте такие режимы, как 4Kp30, 2.7Kp60, 1080p120 и т.д.

После поимки — поиск снежного барса (или дворовой собаки)

После нескольких часов повторного захвата движения у вас все еще может быть много ложных срабатываний, в результате чего файлов MP4 будет больше, чем вам нужно. У нас есть решение, которое поможет вам выбрать самые лучшие кадры. При каждом запуске захвата камера создает файл JPEG, показывающий, где было обнаружено движение. Итак, если вы ищете наземное животное, а птица пролетает мимо, обнаружение покажет участок в небе. JPEG хранится в папке MISC с соответствующим номером файла для созданного MP4. Иногда бывает быстрее отсканировать эти файлы JPEG, чтобы найти нужные видео?

GoPro

Файл MISC \ GL013585.jpg соответствует захвату в DCIM \ 100GOPRO \ GH013585.MP4. Заштрихованные прямоугольники показывают, где было обнаружено движение.

Extra Advanced — пользовательские маски движения

Вместо использования функции маски движения вы можете создать маску изображения, чтобы определить, какая часть сцены используется для обнаружения.
Есть много шагов. Ниже представлен один из подходов с использованием Windows 10 и бесплатного инструмента обработки изображений IrFanView.

  1. Установите камеру так, чтобы она не двигалась.
  2. Снимите короткое видео в точном режиме, который вы будете использовать для захвата движения (например, 1080p60 Wide.)
  3. Извлеките SD-карту, не перемещая камеру.
  4. Загрузите видео и сделайте снимок экрана (этот кадр будет использоваться для определения маски).
  5. Загрузите это изображение в IrFanView (или аналогичный)
  6. Обрежьте любой хром (границы окна), чтобы у вас было только видеоизображение 16: 9 (или 4: 3, если это ваш режим видео).
  7. При желании измените размер на что-то меньшее, 960×540 или 480×270 — так вам будет меньше рисовать при создании маски.
  8. Используйте инструмент рисования (или встроенный инструмент рисования IrFanView), грубо закрасьте изображение белым цветом для областей изображения, которые вы хотите обнаружить, и черным для всего остального. Только движение, обнаруженное в белых областях, вызовет захват.
  9. Измените размер черно-белого изображения / маски до 36×20 <- да, маска крошечная, поэтому рисование может быть грубым.
  10. Сохраните изображение на SD-карту в MISC под названием mask.pgm. PGM — это поддерживаемый тип изображения в IrFanView, это Portable GrayMap.
  11. Снова вставьте SD-карту в камеру, снова не перемещая ее.

Теперь ваша камера готова.

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