淡入淡出使整个视频流变为黑色

淡入淡出使整个视频流变为黑色

我已经适应了跟随 Gyan 的淡入淡出使用图片和音频文件创建视频,然后将其与结尾部分交叉淡入淡出。这很好用,但我还想让第一个视频流淡入淡出。

使用fade过滤器执行此操作只会将整个流变成黑色,原因我无法理解:

ffmpeg -i "image.jpg" -i "audio.flac" -i "outro.mp4" \
-movflags faststart \
-filter_complex \
"color=black:1384x1080:d=186.367[base]; \
[0:v]fade=in:st=0:d=2,scale=1384:1080,setpts=PTS-STARTPTS[v0]; \
[2:v]format=yuva420p,fade=in:st=0:d=2:alpha=1,setpts=PTS-STARTPTS+((168)/TB)[v1]; \
[base][v0]overlay[tmp]; \
[tmp][v1]overlay,format=yuv420p[fv]; \
[1:a][2:a]acrossfade=d=2[fa]" \
-map [fv] -map [fa] -map -0:v:1 -c:v libx264 -c:a libopus -shortest "track1.mp4"

这可能吗?

答案1

图像输入被视为由一帧组成的视频流。要实现淡入淡出,您需要多个帧,至少要与淡入淡出的持续时间一样长。

对于 2 秒淡入,请更改

-i "image.jpg"

-loop 1 -t 2 -i "image.jpg"

相关内容