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

前言

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 示例

  • 将输入视频并行转换为与黄色/蓝色浮雕的立体图:

      stereo3d=sbsl:aybd
    
  • 将输入视频从上方(left eye above, right eye below)转换为并排的十字形。

      stereo3d=abl:sbsr
    

29.163 streamselect, astreamselect

选择视频或音频流。

过滤器接受以下选项:

inputs

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

map

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

29.163.1 命令行

streamselectastreamselect过滤器支持以下命令:

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。此过滤器还需要使用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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,794评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,050评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,587评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,861评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,901评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,898评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,832评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,617评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,077评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,349评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,483评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,199评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,824评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,442评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,632评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,474评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,393评论 2 352

推荐阅读更多精彩内容