Пожалуйста, уточните последовательность png. Вы хотите, чтобы все PNG накладывались на каждый кадр видео? Или один другой PNG для каждого кадра видео. Или один и тот же png (по выбору), накладываемый на каждый кадр видео.
Последнее может быть сделано в ImageMagick с использованием композита -layers, при условии, что ваш ImageMagick имеет ffmpeg в качестве библиотеки делегатов
convert video.mpeg null: overlay.png -gravity G -geometry +X+Y -layers composite new_video.mpeg
Я не уверен, но вам может потребоваться добавить -coalesce после video.mpeg, если кадры оптимизированы каким-либо образом для изменения размеров кадра, как в анимации gif.
Альтернативно, предположим, что вы конвертируете все видеокадры в png. Тогда при условии, что все кадры имеют одинаковый размер и пронумерованы ведущими нулями,
convert video*.png null: overlay.png -gravity G -geometry +X+Y -layers composite new_video.mpeg
где G - настройка гравитации, например центр, X и Y - желаемые смещения от настройки гравитации.
или
convert video*.png null: overlay.png -gravity G -geometry +X+Y -layers composite new_video_%03d.png
где вы можете изменить% 03d.png на любое число, отличное от 3, чтобы установить число ведущих нулей. Тогда вам придется использовать ffmpeg для восстановления вашего видео.