明确说明FFmpeg过滤器图形说明

时间:2019-03-08 07:55:33

标签: ffmpeg libav

我正在使用libavfilter C API缩放视频。

我开始阅读与libavfilter相关的文档,并被困在Filtergraph-description

我不理解“滤垫”的术语。在整个文档中,我遇到了诸如滤波器输入板和输出板之类的术语。

如果有人以简单的方式解释滤板,那将是非常有意义的。另外,请分享与libavfilter C API示例相关的任何文档或链接。

1 个答案:

答案 0 :(得分:2)

(pæd)
猫,狗等脚的肉质软垫状底部


在过滤的上下文中使用“填充”一词时,我从不喜欢它,我也不知道为什么使用该术语。将其替换为“节点”一词可能会使它更容易理解。

这可以用graph2dot工具直观地表示:

enter image description here

在此示例中,分割过滤器会制作两个相同的视频副本。翻转一个副本,然后hstack过滤器将它们并排堆叠以创建输出。

每个过滤器都是链接的,每个链接都连接到输入“节点”(填充)和输出“节点”(填充)。

如果您曾经使用过使用node graph architecture的软件(例如Nuke或不幸的已停产的Apple Shake),则可能更有意义。

没有输入焊盘的滤波器称为“源”,没有输出焊盘的滤波器称为“漏”。源过滤器示例包括testsrc2colorsine。这些滤波器可以自己生成视频或音频,而无需任何输入,因此没有输入板。输出视频测试图案(3秒,1280x720)的示例:

ffmpeg -f lavfi -i testsrc2=d=3:s=1280x720 output.mp4

接收器对于大多数用户而言不太有用。一种用途是测试复杂的滤镜。如果您有一个要暂时忽略的过滤器链,则可以将其终止到接收器中,例如anullsink。接收器没有输出。如果您熟悉/dev/null,就好像在使用它。