![ffmpeg:将帧冻结到视频中,一次通过](https://linux22.com/image/1504205/ffmpeg%EF%BC%9A%E5%B0%86%E5%B8%A7%E5%86%BB%E7%BB%93%E5%88%B0%E8%A7%86%E9%A2%91%E4%B8%AD%EF%BC%8C%E4%B8%80%E6%AC%A1%E9%80%9A%E8%BF%87.png)
我的目标是抓住视频的第一帧,在这个定格帧上从黑色淡入,然后继续播放视频的其余部分。
我可以轻松抓住第一帧:
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与视频的帧速率一致。