ffmpeg: как правильно разместить несколько наложений и затухание верхнего

Я пытаюсь разместить несколько наложений друг на друга и затемнить верхнюю часть после некоторых кадров. Поэтому я использую 2 .png файлы, которые должны быть размещены на финальном видео в следующем порядке:

fademe.png <-- topmost наложение, должно быть выцветшим после некоторых кадров

оверлея.png < -- второе наложение, всегда видимое

кино.mov < -- a movie as the bottom layer

я использую этот код для создания 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 для размещения наложения.перемещение поверх другого видео.

(я использую 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 to [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] не должен быть самым верхним слоем.

Я предполагаю, что что-то не так происходит с альфа-каналом с моей первой попытки.

любые предложения, как решить эту проблему?

2
задан evilheinz
15.12.2022 22:13 Количество просмотров материала 3606
Распечатать страницу

2 ответа

нет необходимости использовать две команды и создать промежуточный файл с альфа-каналом. Одна команда с 3 входами, 2 фильтрами наложения и фильтром затухания с alpha=1 надо сделать:

ffmpeg -y -i movie.mov -loop 1 -i overlay.png -loop 1 -i fademe.png \
-filter_complex '[0:v][1:v] overlay [V1]; \
[2:v] fade=out:25:25:alpha=1 [V2]; [V1][V2] overlay' \
faded.mp4
7
отвечен mark4o 2022-12-17 06:01

Я думаю, что нашел решение:

сначала я создал промежуточный фильм выцветания логотипа

ffmpeg -y -loop 1  -i fademe.png -filter_complex "fade=out:25:25" -vframes 55 -vcodec png fademe.mov

затем я использовал эту команду с ffmbc

ffmbc -i movie.mov -vf "movie=overlay.png [over]; movie=fademe.mov [fade]; [in][over] overlay [inter]; [inter][fade] overlay [out]" -vcodec libx264 out.mp4

...Эврика!!!

логотип сидя поверх состава увядает прочь славный и ровный!

1
отвечен evilheinz 2022-12-17 08:18

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх