Я хотел бы использовать ffmpeg для:
- Обрезать изображение
- Обнаружение изменения сцены на обрезанном изображении
- Выведите всю сцену (необрезанное изображение).
Я знаю, как делать 1 и 2, но не 3.
Вот моя командная строка:
ffmpeg.exe -i "movie.mp4" -vf "crop=130:250:220:50,select=gt(scene\,0.011)" -vsync vfr "movieThumb%%04d.png"
Спасибо.
решение1
Использовать
ffmpeg.exe -i "movie.mp4" -filter_complex "[0]split=2[roi][full];[roi]crop=130:250:220:50,select=gt(scene\,0.011)[roi];[roi][full]scale2ref[roi][full];[roi][full]overlay=shortest=1" -vsync vfr "movieThumb%%04d.png"
Видеопоток разделяется на два — в одном случае выполняется обнаружение сцены. Затем он возвращается к полному размеру, а второй случай накладывается на первый. Поскольку наложение синхронизируется по временной метке, кадры смены сцены выбираются наложением для вывода.