FFPlay专辑

FFplay文档解读-42-视频过滤器十七

2018-11-15  本文已影响18人  张芳涛

前言

Github地址:Github
简书地址:简书
专辑地址:FFplay专辑

29.160 smartblur

在不影响轮廓的情况下模糊输入视频。

它接受以下选项:

luma_radius,lr

设置亮度半径。选项值必须是[0.1,5.0]范围内的浮点数,它指定用于模糊图像的高斯滤波器的方差(如果更大则更慢)。默认值为1.0

luma_strength,ls

设定亮度强度。选项值必须是[-1.0,1.0]范围内的浮点数,用于配置模糊。 [0.0,1.0]中包含的值将使图像模糊,而[-1.0,0.0]中包含的值将使图像锐化。默认值为1.0

luma_threshold,lt

设置用作系数的亮度阈值,以确定像素是否应该模糊。选项值必须是[-30,30]范围内的整数。值为0将过滤所有图像,[0,30]中包含的值将过滤平坦区域,[-30,0]中包含的值将过滤边缘。默认值为0

chroma_radius,cr

设置色度半径。选项值必须是[0.1,5.0]范围内的浮点数,它指定用于模糊图像的高斯滤波器的方差(如果更大则更慢)。默认值为'luma_radius'

chroma_strength,cs

设置色度强度。选项值必须是[-1.0,1.0]范围内的浮点数,用于配置模糊。 [0.0,1.0]中包含的值将使图像模糊,而[-1.0,0.0]中包含的值将使图像锐化。默认值为'luma_strength'

chroma_threshold,ct

设置用作系数的色度阈值以确定像素是否应该模糊。选项值必须是[-30,30]范围内的整数。值为0将过滤所有图像,[0,30]中包含的值将过滤平坦区域,[-30,0]中包含的值将过滤边缘。默认值为'luma_threshold'

如果未明确设置色度选项,则设置相应的亮度值。

29.161 ssim

获取两个输入视频之间的SSIM(结构SImilarity Metric)。

此过滤器输入两个输入视频,第一个输入被视为"main"源,并且不变地传递到输出。第二个输入用作计算SSIM"reference"视频。

两个视频输入必须具有相同的分辨率和像素格式才能使此滤镜正常工作。此外,它假设两个输入具有相同的帧数,逐个进行比较。

过滤器存储每帧的计算SSIM

接下来的参数的描述如下。

stats_file,f

如果指定,则过滤器将使用指定的文件来保存每个帧的SSIM。当filename等于"-"时,数据被发送到标准输出。

如果选择了stats_file,则打印的文件包含表单键的key/value序列:每个比较的帧对的值。

每个显示的参数的描述如下:

n

输入帧的序号,从1开始

Y, U, V, R, G, B

由后缀指定的组件的比较帧的SSIM。

All

整个帧的比较帧的SSIM。

dB

与上述相同,但以dB表示。

此过滤器还支持framesync选项。

例如:

movie = ref_movie.mpg,setpts = PTS-STARTPTS [main];
[main] [ref] ssim =“stats_file = stats.log”[out]

在此示例中,正在处理的输入文件与参考文件ref_movie.mpg进行比较。每个帧的SSIM存储在stats.log中。

另一个同时包含psnrssim的示例:

ffmpeg -i main.mpg -i ref.mpg -lavfi“ssim; [0:v] [1:v] psnr”-f null -

29.162 stereo3d

在不同的立体图像格式之间转换。

过滤器接受以下选项:

in

设置输入的立体图像格式。

输入图像格式的可用值如下:

解释
sbsl 并排平行(left eye left, right eye right)
sbsr 并排的十字线(right eye left, left eye right)
sbs2l 并排平行半宽分辨率(left eye left, right eye right)
sbs2r 并排十字形,半宽分辨率(right eye left, left eye right)
abl 上下(left eye above, right eye below)
abr 上下(right eye above, left eye below)
ab2l 上下半高分辨率(left eye above, right eye below)
ab2r 上下半高分辨率(right eye above, left eye below)
al 交替帧(left eye first, right eye second)
ar 交替帧(right eye first, left eye second)
irl 交错行(left eye has top row, right eye starts on next row)
irr 交错行(right eye has top row, left eye starts on next row)
icl 交错列,left eye first
icr 交错列,right eye first

默认值是:‘sbsl’

out

设置输出的立体图像格式:

格式 解释
sbsl 并排平行(left eye left, right eye right)
sbsr 并排的十字线(right eye left, left eye right)
sbs2l 并排平行半宽分辨率(left eye left, right eye right)
sbs2r 并排十字形,半宽分辨率(right eye left, left eye right)
abl 上下(left eye above, right eye below)
abr 上下(right eye above, left eye below)
ab2l 上下半高分辨率(left eye above, right eye below)
ab2r 上下半高分辨率(right eye above, left eye below)
al 交替帧(left eye first, right eye second)
ar 交替帧(right eye first, left eye second)
irl 交错行(left eye has top row, right eye starts on next row)
irr 交错行(right eye has top row, left eye starts on next row)
arbg 立体图红/蓝灰色(red filter on left eye, blue filter on right eye)
argg 立体红/绿灰(red filter on left eye, green filter on right eye)
arcg 立体图红/青灰(red filter on left eye, cyan filter on right eye)
arch 立体图红/青色半色(red filter on left eye, cyan filter on right eye)
arcc 立体图红/青色(red filter on left eye, cyan filter on right eye)
arcd dubois的最小二乘投影优化的立体红/青色(red filter on left eye, cyan filter on right eye)
agmg 浮雕绿/洋红色灰色(green filter on left eye, magenta filter on right eye)
agmh 浮雕绿/洋红色半色(green filter on left eye, magenta filter on right eye)
agmc 浮雕绿/洋红色(green filter on left eye, magenta filter on right eye)
agmd dubois的最小二乘投影优化的立体绿/洋红色(green filter on left eye, magenta filter on right eye)
aybg 浮雕黄/蓝灰色(yellow filter on left eye, blue filter on right eye)
aybh 浮雕黄色/蓝色半色(yellow filter on left eye, blue filter on right eye)
aybc 浮雕黄/蓝色(yellow filter on left eye, blue filter on right eye)
aybd 用dubois的最小二乘投影优化的立体图黄色/蓝色(yellow filter on left eye, blue filter on right eye)
ml 单声道输出(left eye only)
mr 单声道输出(right eye only)
chl 棋盘,left eye first
chr 棋盘,right eye first
icl 交错列,left eye first
icr 交错列,right eye first
hdmi HDMI框架包

默认值是:‘arcd’

29.162.1 示例

29.163 streamselect, astreamselect

选择视频或音频流。

过滤器接受以下选项:

inputs

设置输入数量。 默认值为2

map

将输入索引设置为重映射到输出。

29.163.1 命令行

streamselectastreamselect过滤器支持以下命令:

map

将输入索引设置为重映射到输出。

29.163.2 示例

29.164 sobel

应用sobel运算符输入视频流。

过滤器接受以下选项:

planes

设置要处理的平面,将复制未处理的平面。 默认值为0xf,将处理所有平面。

scale

设定值将与过滤结果相乘。

delta

设置将添加到筛选结果的值。

29.165 spp

应用一个简单的后处理过滤器,在几个(或 -‘quality’``level 6 - all))位移的情况下压缩和解压缩图像并平均结果。

过滤器接受以下选项:

quality

设定质量。 此选项定义平均的级别数。 它接受0-6范围内的整数。 如果设置为0,则过滤器无效。 值为6表示质量更高。 对于该值的每个增量,速度下降约2倍。默认值为3

qp

强制一个恒定的量化参数。 如果未设置,过滤器将使用视频流中的QP(如果可用)。

mode

设置阈值模式。 可用的模式如下:

模式 解释
hard 设置硬阈值(默认)
soft 设置软阈值(更好的去振铃效果,但可能是模糊)
use_bframe_qp

如果设置为1,则允许从B帧使用QP。使用此选项可能会导致闪烁,因为B帧通常具有更大的QP。 默认值为0(未启用)。

29.166 subtitles

使用libass库在输入视频上绘制字幕。

要启用此过滤器的编译,需要使用--enable-libass配置FFmpeg。此过滤器还需要使用libavcodeclibavformat构建,以将传递的字幕文件转换为ASS``(Advanced Substation Alpha)字幕格式。

过滤器接受以下选项:

filename,f

设置要读取的字幕文件的文件名。必须指定。

original_size

指定原始视频的大小,即组成ASS文件的视频。有关此选项的语法,请参考(ffmpeg-utils)视频大小语法。由于ASS宽高比算术设计错误,如果宽高比已更改,则必须正确缩放字体。

fontsdir

设置包含可供过滤器使用的字体的目录路径。除了字体提供程序使用的任何内容之外,还将使用这些字体。

alpha

处理alpha通道,默认为alpha通道不受影响。

charenc

设置字幕输入字符编码。字幕仅过滤。仅在非UTF-8时才有用。

stream_index,si

设置字幕流索引。字幕仅过滤。

force_style

覆盖字幕的默认样式或脚本信息参数。它接受一个包含ASS样式格式的字符串KEY=VALUE,用","分隔。

如果未指定第一个键,则假定第一个值指定‘filename’

例如,要在输入视频的顶部呈现文件‘sub.srt’,请使用以下命令:

subtitles=sub.srt

这相当于:

subtitles=filename=sub.srt

要从文件'video.mkv'呈现默认字幕流,请使用:

subtitles=video.mkv

要从该文件渲染第二个字幕流,请使用如下命令:

subtitles=video.mkv:si=1

要使来自'sub.srt'的字幕流出现在透明的绿色DejaVu Serif中,请使用:

subtitles = sub.srt:force_style ='FontName = DejaVu Serif,PrimaryColour =&HAA00FF00'

29.167 super2xsai

使用Super2xSaIScale and Interpolate)像素艺术缩放算法将输入缩放2倍并平滑。

用于放大像素艺术图像而不降低清晰度。

29.168 swaprect

在视频中交换两个矩形对象。

此过滤器接受以下选项:

w

设置对象宽度。

h

设置对象高度。

x1

设置第一个矩形x坐标。

y1

设置第一个矩形坐标。

x2

设置第二个矩形x坐标。

y2

设置第二个矩形坐标。

每帧的所有表达式都会被评估一次。

所有选项都是包含以下常量的表达式:

w
h

输入的宽度和高度。

a

w/h相同

sar

输入样本宽高比

dar

输入显示宽高比,与(w/h)* sar相同

n

输入帧的编号,从0开始。

t

以秒为单位表示的时间戳。 如果输入时间戳未知,则为NAN

pos

输入框文件中的位置,如果未知,则为NAN

29.169 swapuv

交换U & V plane

上一篇下一篇

猜你喜欢

热点阅读