使用 ffmpeg 在 MKV 开头覆盖/淡化图像

问题描述

我有一个 MKV,我想用一个从黑色淡入/淡出的静态 png 图像替换前 5 秒。如何仅使用 ffmpeg 来完成此操作?

解决方法

简单的方法是叠加图像:

ffmpeg -i input.mkv -loop 1 -t 5 -i image.png -filter_complex "[1]fade=type=in:duration=1,fade=type=out:duration=1:start_time=4[fg];[0]drawbox=t=fill:enable='lte(t,5)'[bg];[bg][fg]overlay=eof_action=pass:x=(W-w)/2:y=(H-h)/2" -c:a copy output.mkv