Мне нужен способ сканирования по часам и часам записанного видео (mp4, mov, avi, не имеет значения, я могу это исправить) для поиска движения. Видеоролики состоят из многих, многих часов скучных природных сцен, таких как гнезда птиц или места кормления, где очень мало случается в течение длинных отрезков, перемежающихся короткими всплесками действия, такими как переключение родителей, кормление и т. Д.
Я не могу использовать программу мониторинга видеонаблюдения, потому что они отслеживают прямой эфир и записывают только когда есть действие. Эти видео записаны далеко от сетки, где любая форма подключения к интернету - несбыточная мечта.
Я смотрел на Zoneminder и Motion, но они не позволяют мне переключать ввод с прямой трансляции в файл. В идеале я бы хотел, чтобы он сканировал намного быстрее, чем в реальном времени.
Есть идеи?
VLC имеет фильтр обнаружения движения, который можно попробовать, выбрав: Инструменты -> Эффекты и фильтры -> Видеоэффекты -> Расширенные -> Обнаружение движения .
У вас может быть больше доступных настроек, запускающих его из командной строки с флагом --video-filter=motiondetect
; посмотрите этот пример .
DVR-Scan - это кроссплатформенное приложение командной строки (CLI), которое автоматически обнаруживает события движения в видеофайлах (например, кадры с камеры безопасности) , Помимо определения времени и продолжительности каждого события движения, DVR-Scan сохранит отснятый материал каждого события движения в новый отдельный видеоклип. Это не только бесплатное программное обеспечение с открытым исходным кодом для DVR-Scan (FOSS), написанное на Python и основанное на Numpy и OpenCV, оно было разработано так, чтобы его можно было расширять и взламывать.
Использование:
dvr-scan -i some_video.mp4 -o some_video_motion_only.avi