使用ffmpeg在视频上叠加alpha图像

时间:2016-05-10 16:32:21

标签: image-processing ffmpeg overlay libav

我有以下ffmpeg-cli命令,它不会在文档中产生描述的效果。这可能是一个错误,或者我的命令有问题。

ffmpeg \
    -y \
    -i small.mp4 \
    -i monkey/monkey_%04d.png \
    -filter_complex "[0:v][1:v]overlay=enable='between(t,1,5)'[out1]" \
    -map '[out1]' \
    output.mp4

我希望它在第1秒和第5秒之间将#1流覆盖在#0之上。

您可以从以下链接下载测试tarball:

它包括测试用例的资产。

我试过的构建:

  • ffmpeg-3.0.2-64bit-static(在线提供)

1 个答案:

答案 0 :(得分:3)

FFmpeg是一个基于时间的处理器,即它按时间戳对齐数据包,因此您必须将图像序列的开头与叠加的开始对齐。

ffmpeg \
    -y \
    -i small.mp4 \
    -i monkey/monkey_%04d.png \
    -filter_complex "[1:v]setpts=PTS-STARTPTS+(1/TB)[1v]; \
    [0:v][1v]overlay=enable='between(t,1,5)'[out1]" \
    -map '[out1]' \
    output.mp4