Это попытка создать программный детектор движения для видеофайлов!
Программа вырезает фрагменты видео где есть движение. Написана для анализа большого количества файлов с видеорегистратора.
Собрана на компонентах Mitov Software конкретно VideoLab.5.01 и VisionLab.5.01 за основу взят проект из примера отсюда и он же здесь. Написана на Delphi 7.
Обработки звука нет!
Есть возможность выбрать способ кодирования через FourCC коды. С некоторыми кодеками программа может зависнуть, так что подбирайте свои настройки. Проверены DIVX, FFDS, X264, X265 у меня работали. Если не выбрать ничего или стереть название кодека, программа будет сохранять видео в несжатом виде, размер файла получится огромный!
Программа не содержит в себе декодеры (для воспроизведения видео) и энкодеры (для сохранения видео), если декодер которым закодировано исходное видео отсутствует, программа выдаст ошибку "can't render video source filter".
Программа работает через DirectShow, поэтому соответствующие энкодеры и декодеры должны быть установлены в системе, скачивать и устанавливать нужно самостоятельно! Если система 64 битная, то устанавливать нужно кодеры и декодеры и для 64-битных и для 32-битных систем одновременно!
Как универсальный набор кодеков можно установить K-lite codec pack Mega.
Если планируете пользоваться кодеком ffdshow [FFDS], то начиная с версии 3671 в нем была удалена часть энкодеров (убран MPEG-4), остались только MJPEG, Lossless JPEG, HuffVUV, FFV1 и DV. Если нужны остальные, ставьте более ранние версии (скачать версию 3665).
Есть возможность пакетной обработки, для этого при открытии видео нужно выделить несколько файлов, но все файлы обязательно должны быть одинакового формата. Программа работает не корректно если открывать файлы разных форматов, формат должен быть такой же как у первого открытого видеофайла.
Функция просмотра видео работает не стабильно, доделывать не стал, так как особой надобности в ней нет.
Опция TimeCode накладывает на видео дату и время, которые берутся из времени создания и изменения файла, если по какой-то причине регистратор этого не делает!
Обработка видео происходит так быстро как позволяют используемые компоненты и процессор компьютера. В целом программа сыровата, но со своей функцией справляется!
Еще пара слов о том как открыть h.264 видео! Если данное видео упаковано в контейнер например avi или mp4 и в системе установлен декодер x264vfw, то файл обработается нормально. Но некоторые видеорегистраторы записывают свой архив в формате RAW видео, файлы с расширением *.h264 (они закодированы в формате h.264, но контейнер отсутствует). Детектор движения не умеет открывать такие файлы, их нужно предварительно упаковать в любой контейнер, например программой My-MP4Box-GUI или YAMB в контейнер *.mp4. Это делается без перекодировки, т.е. процесс пройдет со скоростью копирования файла!
Как упаковывать в контейнер формат h.265 можно узнать в Блоге электролампочного хамелеона и там же скачать необходимые программы, в том числе и для работы с h.264.
Ссылки для загрузки:
Детектор движения MotionDetect.exe