Может ли ffmpeg выполнять расчеты по кадрам?
Я хотел бы разделить каждый кадр видео на изображение, которое я хотел бы предоставить в качестве дополнительного входа. Может ли ffmpeg выполнять такие вычисления изображения? Я не мог найти никаких примеров.
Это будет своего рода коррекция фона. Входное изображение - это фон, например, медиана большого количества кадров. (часто люди используют backgroundSUBTRACTION, но я хочу использовать разделение)
В настоящее время я делаю это в OpenCV и Python. Я обрабатываю каждый кадр следующим образом:
(vidMed это фоновое изображение)
import cv2
vidIn=cv2.VideoCapture(input.avi)
vidOut=cv2.VideoVriter(output.avi)
while true
ret, frame = vidIn.read()
bgDiv=frame/vidMed
vidOut.write(bgDiv)
Я надеялся, что это может работать быстрее, используя ffmpeg
1 ответ
Решение
Да, смесь работает!
ffmpeg.exe
-i videoIn.avi
-i imageIn.avi
-filter_complex "[1:0] setsar=sar=1 [1sared];[0:0][1sared]blend=all_mode='divide':repeatlast=1[int];
-out.avi
(imageIn.avi - это только один кадр)