【问题标题】:How to create a circular countdown indicator overlayed into a video with ffmpeg?如何使用 ffmpeg 创建一个覆盖到视频中的圆形倒计时指示器?
【发布时间】:2020-11-19 03:01:18
【问题描述】:

我有一个脚本可以从多个来源创建视频。视频开始时有 5 秒长的停顿,显示一些信息。

我想在左上角用一个圆圈表示距离主视频开始还有多长时间。随着视频的进行,圆圈将开始完全透明并逐渐在圆圈周围填充灰色。在视频的 25% 处,圆圈的右上角为灰色。在 50% 时,圆圈的右半部分将是灰色的,依此类推。

我正在想象类似于this solution 的东西,它是一个进度条,但我不确定它是否可能/如何使它成为一个圆形。

【问题讨论】:

    标签: ffmpeg


    【解决方案1】:

    您可以将xfade filtercropsplitoverlay 一起使用。在此示例中,video.mp4 为 1280x720,circle.png 为 100x100。

    ffmpeg -i video.mp4 -t 5 -loop 1 -i circle.png -filter_complex "[0]crop=w=100:h=100:x=1280-100-5:y=5,split=2[bg1][bg2];[bg1][1]overlay=format=auto:eof_action=pass[ovr];[bg2][ovr]xfade=transition=radial:offset=0:duration=5[fg];[0][fg]overlay=W-w-5:5:format=auto:eof_action=pass,format=yuv420p[v]" -map "[v]" -map 0:a? -c:a copy -movflags +faststart output.mp4
    

    circle.png 的示例:

    【讨论】:

    • 这与我想要的非常接近 - 是否可以将圆圈完全填满?我将尝试了解过滤器,但您可能很快就知道了 :) 谢谢!编辑:哦,也许它只是png?是时候玩了...
    • 更新:我填写了 png,这是我想要的,谢谢!
    • 更新2:有没有办法让它开始填充并淡出一个圆圈?我会再次尝试弄清楚,但你可能知道。
    • @BenHolness 抱歉,我不明白你想在 UPDATE 2 中做什么。
    • @BenHolness 将 [bg2][ovr]xfade 更改为 [ovr][bg2]xfade
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-11
    • 2021-02-15
    • 2016-08-08
    • 2022-01-16
    • 2010-12-18
    • 1970-01-01
    相关资源
    最近更新 更多