前言
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
中。
另一个同时包含psnr
和ssim
的示例:
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 示例
-
将输入视频并行转换为与黄色/蓝色浮雕的立体图:
stereo3d=sbsl:aybd
-
将输入视频从上方
(left eye above, right eye below)
转换为并排的十字形。stereo3d=abl:sbsr
29.163 streamselect, astreamselect
选择视频或音频流。
过滤器接受以下选项:
inputs
设置输入数量。 默认值为2
。
map
将输入索引设置为重映射到输出。
29.163.1 命令行
streamselect
和astreamselect
过滤器支持以下命令:
map
将输入索引设置为重映射到输出。
29.163.2 示例
-
选择前
5
秒第一流和剩余时间第二流:sendcmd='5.0 streamselect map 1',streamselect=inputs=2:map=0
-
与上面相同,但是只是用于音频:
asendcmd='5.0 astreamselect map 1',astreamselect=inputs=2:map=0
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
。此过滤器还需要使用libavcodec
和libavformat
构建,以将传递的字幕文件转换为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
使用Super2xSaI
(Scale 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