【问题标题】:Adding a background to an in-video visual progress bar with FFMPEG?使用 FFMPEG 向视频内视觉进度条添加背景?
【发布时间】:2022-02-24 11:34:43
【问题描述】:

使用Showing in-video visual progress bar with FFMPEG的答案

我正在尝试为进度条本身提供背景,例如该栏将为白色,随着时间的推移,红色进度条将覆盖它。

我的第一个决定是应用 drawbox 过滤器,因此对于我的目的,视频宽 1280 像素,持续时间为 6.027 秒。我试过了

ffmpeg -i uuid_nordvpn.mp4 -vf "color=c=red:s=1280x30[bar];[0][bar]overlay=-w+(w/6.072733)*t:H-h:shortest=1, drawbox=x=0:y=720-30:width=1280:height=30:thickness=fill:color=white" out.mp4

但我只得到了在彩色滤镜顶部绘制的白色画框滤镜。

显而易见的解决方案是交换颜色和drawbox过滤器,但这会返回错误Too many inputs specified for the "color" filter,我猜这意味着您只能在开始时使用颜色过滤器。

我也试过应用2个滤色器,另一个滤色器没有填满,但你不能应用2个滤色器,再次给出原因Too many inputs specified for the "color" filter.

此时我完全迷失了,我该如何为这个过滤器提供背景?

【问题讨论】:

    标签: ffmpeg


    【解决方案1】:

    您可以使用多个color 过滤器。但是color 过滤器是一个源过滤器,所以它不能出现在过滤器链的中间(这就是错误消息的意思)。它必须是链的第一个过滤器。这应该适合你:

    编辑:您使用overlay 滑动的方法比我原来的scale 方法更快。我以观察到的速度添加了所有 4 个实现:

    1. 2xcolor+2xoverlay: x14.1

    ffmpeg -i uuid_nordvpn.mp4 \
      -vf 'color=c=white:s=1280x30[L0]; \
           color=c=red:s=1280x30[L1]; \
           [L0][L1]overlay=(t/6.072733-1)*w:0:eval=frame[L2]; \
           [in][L2]overlay=0:690:shortest=1[out]' \
      out.mp4
    

    2。 drawbox + color + overlay:13.4x

    ffmpeg -i uuid_nordvpn.mp4 \
      -vf '[in]drawbox=0:690:1280:30:white:fill[L0]; \
           color=c=red:s=1280x30[L1]; \
           [L0][L1]overlay=(t/6.072733-1)*w:690:eval=frame:shortest=1[out]' \
      out.mp4
    

    3. 2xcolor+scale+2xoverlay: 5.09x

    ffmpeg -i uuid_nordvpn.mp4 \
      -vf 'color=c=white:s=1280x30[L0]; \
           color=c=red:s=1280x30,scale=max(t/6.072733*in_w\,1):in_h:eval=frame[L1]; \
           [L0][L1]overlay=0:0[L2]; \
           [in][L2]overlay=0:690:shortest=1[out]' \
      out.mp4
    

    4. drawbox + color + scale + overlay:5.03x

    ffmpeg -i uuid_nordvpn.mp4 \
      -vf '[in]drawbox=0:690:1280:30:white:fill[L0]; \
           color=c=red:s=1280x30,scale=max(t/6.072733*in_w\,1):in_h:eval=frame[L1]; \
           [L0][L1]overlay=0:690:shortest=1[out]' \
      out.mp4
    

    【讨论】:

      猜你喜欢
      • 2020-11-09
      • 1970-01-01
      • 2019-03-11
      • 2016-07-13
      • 1970-01-01
      • 2011-04-15
      • 1970-01-01
      • 2021-06-21
      • 2022-06-14
      相关资源
      最近更新 更多