我的目标是抓住视频的第一帧,在这个定格帧上从黑色淡入,然后继续播放视频的其余部分。
我可以轻松抓住第一帧:
ffmpeg -ss 0.0 -i master.mov -frames:v 1 firstframe.png
给定此图像,我可以在 1 秒内将其淡入,然后与原始视频连接:
ffmpeg -loop 1 -i firstframe.png -i master.mov -filter_complex \
"[0:v] trim=duration=1, fade=t=in:st=0:d=1 [fadein]; \
[fadein][1:v]concat=n=2, format=yuv420p [output]" \
-map [output] output.mov
我的问题是,是否可以一次性完成此操作?
答案1
使用
ffmpeg -i master.mov -filter_complex \
"[0]trim=start_frame=0:end_frame=1,loop=F:1:0,setpts=N/FRAME_RATE/TB,fade=st=0:d=1[fade]; \
[fade][0]concat,format=yuv420p" output.mov
代替F与视频的帧速率一致。