ffmpeg 怎么把视频最后 2 秒渐变为全黑?

2022-12-20 16:57:20 +08:00
 azev

做次伸手党

1398 次点击
所在节点    问与答
6 条回复
Xusually
2022-12-20 17:01:11 +08:00
google 一下第一条就是

https://superuser.com/questions/386065/is-there-a-way-to-add-a-fade-to-black-effect-to-a-video-from-the-command-line
以下是高赞答案的 fade out 部分:
To fade out starting at frame 21000 (14 minutes @ 25fps), over 50 frames:

ffmpeg -i input.mp4 -filter:v 'fade=out:21000:50' \
-c:v libx264 -crf 22 -preset veryfast -c:a copy output.mp4
Xusually
2022-12-20 17:05:21 +08:00
如果是完全黑的话用一张黑图片和视频做 filter_complex overlay
nickr
2022-12-20 19:51:10 +08:00
你可以使用 ffmpeg 的 color 滤镜来实现这个效果。

首先,使用 color 滤镜生成一个全黑视频:

ffmpeg -f lavfi -i color=black -t 2 black.mp4
然后,使用 overlay 滤镜将全黑视频叠加到原视频的最后 2 秒:

ffmpeg -i input.mp4 -i black.mp4 -filter_complex "[0:v][1:v]overlay=eof_action=pass[out]" -map "[out]" output.mp4
这样,你就可以在视频最后 2 秒渐变为全黑了。

注意,上面的命令假定原视频和全黑视频都使用了相同的帧率。如果帧率不同,你可以使用 setpts 滤镜来调整全黑视频的帧率,例如:

ffmpeg -f lavfi -i color=black -vf "setpts=PTS/2" -t 2 black.mp4
这样就可以将全黑视频的帧率减半,使它与原视频的帧率相匹配。
nickr
2022-12-20 19:51:47 +08:00
上面的答案是 chatGPT 给的.
Lunaleeguo
2022-12-20 19:54:43 +08:00
找一个 2S 渐变黑的视频,然后合并视频
EngAPI
2022-12-20 19:58:59 +08:00
使用 ffmpeg 命令:ffmpeg -i input.mp4 -vf fade=t=in:st=0:d=2:alpha=1,fade=t=out:st=<duration-2>:d=2:alpha=1 output.mp4

notion ai 给的答案

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/903762

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX