Есть ли какой-либо способ (через скрипт или, желательно, какой-то параметр в вызове ffmpeg, который я пропустил )для извлечения кадров из файла avi и игнорирования последовательно дублирующихся кадров , таким образом, имея возможность просматривать изображения, выглядя только на дельты/изменения?
Мне часто приходится записывать встречи на работе, и большую часть времени экран клиента, на который я смотрю, не меняется, пока мы разговариваем по телефону. После окончания встречи мне нужно использовать эти изображения как часть нашей документации и сбора спецификаций.
Я знаю, что я мог бы просто вывести каждый кадр и запустить их с помощью любой заданной утилиты для удаления дубликатов файлов, но это удалит ВСЕ повторяющиеся кадры. Таким образом, если извлеченные кадры были такими:
А, А, А, Б, Б, Б, В, С, С, А, А, С, С, С, Б, Б, Б...
Прогоняя их через обычное средство для удаления дубликатов файлов, я получаю :A, B, C
Я бы хотел :A, B, C, A, C, B
Команда, которую я сейчас использую для извлечения изображений,:
ffmpeg.exe -i file.avi -ss 0 -sameq -f image2 -r 1 images%5d.png
Я собирал каждый кадр заранее (, удаляя -r 1 сверху ), но это генерировало слишком много кадров, чтобы иметь дело с ними, так как эти онлайн-встречи могут длиться часами, поэтому на данный момент я получаю один кадр. в секунду из файла.
Решение на базе Windows было бы предпочтительнее, однако я уверен, что другие люди будут заинтересованы в решениях на других платформах, если они доступны.
Любое решение или точка в правильном направлении высоко ценится.