Я пытаюсь разместить несколько оверлеев поверх друг друга и постепенно исчезать после нескольких кадров. Поэтому я использую 2 .png файла, которые должны быть помещены в финальное видео в следующем порядке:
fademe.png <- верхний оверлей, должен исчезать после некоторых кадров
overlay.png <- второе наложение, всегда видимое
movie.mov <- фильм как нижний слой
Я использую этот код для создания .mov в формате PNG из оверлеев:
ffmpeg -y -loop 1 -i fademe.png -loop 1 -i overlay.png -filter_complex "[0:0]fade=out:25:25[fad];[1:0][fad] overlay" -vframes 55 -vcodec png overlay.mov
Затем я использую ffmbc для размещения overlay.mov поверх другого видео.
(Я использую ffmbc, потому что конечный результат будет ProRes4444)
ffmbc -y -threads 0 -i movie.mov -vf "movie=overlay.mov [watermark]; [in][watermark] overlay [out]" -vcodec libx264 faded.mp4
Выходное видео выглядит хорошо до тех пор, пока не начнется затухание, а fademe.png [fad]
видимому, потускнеет до белого и делает некоторые странные вещи с цветами ниже, пока не исчезнет.
Когда я меняю порядок в последнем overlay
с оверлея [1:0][fad] overlay
[fad][1:0] overlay
это выглядит так:
ffmpeg -y -loop 1 -i fademe.png -loop 1 -i overlay.png -filter_complex "[0:0]fade=out:25:25[fad];[fad][1:0] overlay" -vframes 55 -vcodec png overlay.mov
выцветание выглядит правильно, но overlay.png [1:0]
не должен быть самым верхним слоем.
Я думаю, что что-то не так происходит с альфа-каналом с первой попытки.
Любые предложения, как решить эту проблему?