使用 ffmpeg 在视频上叠加 alpha 图像
Overlaying alpha images on a video using ffmpeg
我有以下 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 link:
它包括测试用例的资产。
我试过的版本:
- ffmpeg-3.0.2-64bit-static(在线可用)
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
我有以下 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 link:
它包括测试用例的资产。
我试过的版本:
- ffmpeg-3.0.2-64bit-static(在线可用)
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