[机翻文档5]滤镜应用示例:去除 Logo/水印
正如理解 FFmpeg 命令结构和 ShanaEncoder 的工作原理以及理解 FFmpeg 过滤器基础知识和 ShanaEncoder 图像调整大小选项中提到的那样,使用过滤器时务必牢记以下几点:
① 过滤器按照到达的顺序进行处理 。
② 过滤器之间以逗号(,) 分隔(不带空格)。
③ 过滤器内的选项以冒号(:)分隔 。
④ 如果过滤器中省略了“ 选项= ”部分,而只显示设置值,则将根据过滤器选项的顺序自动分配设置值。
用逗号分隔的过滤器接收前一个过滤器输出的视频/音频流作为输入并进行处理 。按顺序处理同一视频/音频流的过滤器链称为过滤器链 。
此外,视频过滤器链位于 -vf 命令之后,音频过滤器链位于 -af 命令之后。
□ 通过示例去除徽标/水印
让我们看一下应用过滤器的最简单的例子:删除徽标/水印。
理想情况下,您希望获得没有徽标或水印的原件,但如果您只能获得带有徽标/水印的素材,则有一个名为 delogo 的过滤器可以尽可能多地删除徽标。
在确定视频滤镜中的位置和大小时,需要使用坐标。输入视频流的左上角作为参考点,坐标为 x=0 , y=0 ,水平向右、垂直向下测量。当然,大小以像素为单位。
在原始视频中,徽标(及其周围的矩形)仅在屏幕右上角出现 5 到 51 秒之间,宽度约为 134 像素,高度约为 32 像素。

delogo 过滤器将徽标左上角(围绕它的矩形)的坐标和大小作为输入。
如图所示,用截图测量 logo 左上角的坐标为宽 1116 像素,高 28 像素( x=1116 , y=28 ),logo 的尺寸为宽 134 像素,高 32 像素,因此在 ShanaEncoder 中打开 F7 滤镜设置窗口,添加 delogo 滤镜,并按如下方式设置参数。

参数设置:
x=1116:y=28:w=134:h=32:enable='between(t,5,51)'
某些 FFmpeg 滤镜只能在特定条件下应用。此功能称为时间线编辑 。除了其自身的选项外,这些滤镜还支持 “启用” 选项,允许您指定特定条件。
delogo 滤镜支持时间轴编辑。其中 ,enable='between(t,5,51)' 表示仅在 5 到 51 秒之间应用 delogo 滤镜。
(将 between 括在引号中的原因是为了防止逗号 (,) ( between 内的参数分隔符)被识别为 -vf 选项中的过滤器之间的分隔符。)
通过打开参数窗口(F8)并输入实际的 FFmpeg 命令可以确认以这种方式设置的过滤器,如下所示:

□ 附加信息 2
在某些情况下,单个视频流会由多个滤镜链并行处理(例如, 拆分单个视频流并分别处理每个视频流时),或者多个视频流会由多个滤镜链并行处理(例如,连接多个视频时,例如使用 concat 滤镜)。这种滤镜链的并行分组称为滤镜图 。
某些过滤器可能接受多个视频流作为输入或输出。在这种情况下,请将此类过滤器放置在 -filter_complex 或 -lavfi 命令之后,而不是 -vf 之后。
虽然 ShanaEncoder 支持 Filter Graph,但也存在一些限制。
正如理解 FFmpeg 命令结构和 ShanaEncoder 的工作原理以及理解 FFmpeg 过滤器基础知识和 ShanaEncoder 图像调整大小选项中提到的那样,使用过滤器时务必牢记以下几点:
① 过滤器按照到达的顺序进行处理 。
② 过滤器之间以逗号(,) 分隔(不带空格)。
③ 过滤器内的选项以冒号(:)分隔 。
④ 如果过滤器中省略了“ 选项= ”部分,而只显示设置值,则将根据过滤器选项的顺序自动分配设置值。
用逗号分隔的过滤器接收前一个过滤器输出的视频/音频流作为输入并进行处理 。按顺序处理同一视频/音频流的过滤器链称为过滤器链 。
此外,视频过滤器链位于 -vf 命令之后,音频过滤器链位于 -af 命令之后。
□ 通过示例去除徽标/水印
让我们看一下应用过滤器的最简单的例子:删除徽标/水印。
理想情况下,您希望获得没有徽标或水印的原件,但如果您只能获得带有徽标/水印的素材,则有一个名为 delogo 的过滤器可以尽可能多地删除徽标。
在确定视频滤镜中的位置和大小时,需要使用坐标。输入视频流的左上角作为参考点,坐标为 x=0 , y=0 ,水平向右、垂直向下测量。当然,大小以像素为单位。
在原始视频中,徽标(及其周围的矩形)仅在屏幕右上角出现 5 到 51 秒之间,宽度约为 134 像素,高度约为 32 像素。

delogo 过滤器将徽标左上角(围绕它的矩形)的坐标和大小作为输入。
如图所示,用截图测量 logo 左上角的坐标为宽 1116 像素,高 28 像素( x=1116 , y=28 ),logo 的尺寸为宽 134 像素,高 32 像素,因此在 ShanaEncoder 中打开 F7 滤镜设置窗口,添加 delogo 滤镜,并按如下方式设置参数。

参数设置:
x=1116:y=28:w=134:h=32:enable='between(t,5,51)'
某些 FFmpeg 滤镜只能在特定条件下应用。此功能称为时间线编辑 。除了其自身的选项外,这些滤镜还支持 “启用” 选项,允许您指定特定条件。
delogo 滤镜支持时间轴编辑。其中 ,enable='between(t,5,51)' 表示仅在 5 到 51 秒之间应用 delogo 滤镜。
(将 between 括在引号中的原因是为了防止逗号 (,) ( between 内的参数分隔符)被识别为 -vf 选项中的过滤器之间的分隔符。)
通过打开参数窗口(F8)并输入实际的 FFmpeg 命令可以确认以这种方式设置的过滤器,如下所示:

□ 附加信息 2
在某些情况下,单个视频流会由多个滤镜链并行处理(例如, 拆分单个视频流并分别处理每个视频流时),或者多个视频流会由多个滤镜链并行处理(例如,连接多个视频时,例如使用 concat 滤镜)。这种滤镜链的并行分组称为滤镜图 。
某些过滤器可能接受多个视频流作为输入或输出。在这种情况下,请将此类过滤器放置在 -filter_complex 或 -lavfi 命令之后,而不是 -vf 之后。
虽然 ShanaEncoder 支持 Filter Graph,但也存在一些限制。









