FFplay文档解读-27-视频过滤器二

前言

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

29.11 boxblur

boxblur算法应用于输入视频。

它接受以下参数:

luma_radius, lr
luma_power, lp
chroma_radius, cr
chroma_power, cp
alpha_radius, ar
alpha_power, ap

接下来的选项的描述如下:

luma_radius, lr
chroma_radius, cr
alpha_radius, ar

设置用于模糊相应输入平面的框半径的表达式(以像素为单位)。

半径值必须是非负数,并且不得大于亮度和alpha平面的表达式min(w,h)/2的值,以及色度的min(cw,ch)/2的值飞机。

'luma_radius'的默认值为2。 如果未指定,'chroma_radius''alpha_radius'默认为为'luma_radius'设置的相应值。

表达式可以包含以下常量:

常量 解释
w
h 输入宽度和高度(以像素为单位)
cw
ch 输入色度图像宽度和高度(以像素为单位)
hsub
vsub 水平和垂直色度子样本值。 例如,对于像素格式yuv422phsub2vsub1
luma_power, lp
chroma_power, cp
alpha_power, ap

指定boxblur过滤器应用于相应平面的次数。

'luma_power'的默认值为2。如果未指定,'chroma_power''alpha_power'默认为'luma_power'设置的相应值。

值为0将禁用该效果。

29.11.1 示例

  • 应用boxblur滤镜,亮度,色度和alpha半径设置为2

     boxblur=luma_radius=2:luma_power=1
     boxblur=2:1
    
  • 将亮度半径设置为2,将alpha和色度半径设置为0

      boxblur=2:1:cr=0:ar=0
    
  • 将亮度和色度半径设置为视频维度的一小部分:

      boxblur=luma_radius=min(h\,w)/10:luma_power=1:chroma_radius=min(cw\,ch)/10:chroma_power=1
    

29.12 bwdif

对输入视频进行去交错(bwdif代表Bob Weaver去隔行滤波器)。

基于yadif的运动自适应去隔行,使用w3fdif和三次插值算法。 它接受以下参数:

mode

采用隔行扫描模式。 它接受以下面的值:

参数 解释
0, send_frame 为每帧输出一帧
1, send_field 为每个字段输出一帧

默认值是:send_field

parity

假设输入隔行扫描视频的图像场奇偶校验。 它接受下面的值:

参数 解释
0, tff 假设顶部字段是第一个
1, bff 假设底部字段是第一个
-1, auto 启用字段奇偶校验的自动检测

默认值为auto。 如果隔行扫描未知或解码器不导出该信息,则假设top field first

deint

指定要去隔行的帧。 接受下面的值:

参数 解释
0, all 对所有帧进行去隔行扫描
1, interlaced 仅隔离标记为隔行扫描的帧

默认值是all

29.13 chromakey

YUV颜色空间color/chroma(颜色/色度)键控。

过滤器接受以下选项:

color

颜色将被透明度取代。

similarity

与关键颜色的相似百分比。

0.01仅匹配确切的键颜色,而1.0匹配所有内容。

blend

混合百分比。

0.0使像素完全透明或根本不透明。

较高的值导致半透明像素,透明度越高,像素颜色与关键颜色越相似。

yuv

颜色传递的信号已经是YUV而不是RGB

"green""red"这样的字面颜色不再有意义了。 这可以用于将精确的YUV值作为十六进制数传递。

29.13.1 示例

  • 使输入图像中的每个绿色像素都透明:

      ffmpeg -i input.png -vf chromakey=green out.png
    
  • 在静态黑色背景上叠加绿屏视频

      ffmpeg -f lavfi -i color=c=black:s=1280x720 -i video.mp4 -shortest -filter_complex "[1:v]chromakey=0x70de77:0.1:0.2[ckout];[0:v][ckout]overlay[out]" -map "[out]" output.mkv
    

29.14 ciescope

显示CIE颜色图,其上覆盖有像素。

过滤器接受以下选项:

system

设置颜色系统。

颜色系统
ntsc, 470m
ebu, 470bg
smpte
240m
apple
widergb
cie1931
rec709, hdtv
uhdtv, rec2020
cie

设置CIE系统。

CIE系统
xyy
ucs
luv
gamuts

设置要绘制的色域。

有关可用值,请参阅system选项。

size, s

设置ciescope大小,默认设置为512

intensity, i

设置用于将输入像素值映射到CIE图的强度。

contrast

设置对比度用于绘制超出活动颜色系统色域的舌头颜色。

corrgamma

默认情况下,默认情况下,范围内显示正确的gamma

showwhite

CIE图上显示白点,默认情况下禁用。

gamma

设置输入gamma。 仅用于XYZ输入颜色空间。

29.15 codecview

可视化某些编解码器导出的信息。

一些编解码器可以使用旁边数据或其他方式通过帧导出信息。 例如,一些基于MPEG的编解码器通过编解码器flags2选项中的export_mvs标志导出运动向量。

过滤器接受以下选项:

mv

设置运动矢量以进行可视化。

mv的可用标志是:

可用标志 解释
pf 前向预测的P-framesMVs
bf 前向预测的B-framesMVs
bb 向后预测的B-framesMVs
qp

使用色度平面显示量化参数。

mv_type, mvt

设置运动矢量类型以进行可视化。 除非由frame_type选项指定,否则包括来自所有帧的MV

mv_type的可用标志如下:

标志 解释
fp 向前预测MVs
bp 向后预测MVs
frame_type, ft

设置帧类型以可视化运动矢量。

frame_type的可用标志如下:

标志 解释
if 帧内编码帧(I-frames
pf 前向预测帧(P-frames)
bf 双向预测帧(B-frames

29.15.1 示例

  • 使用ffplay可视化所有帧的前向预测MVs

      ffplay -flags2 +export_mvs input.mp4 -vf codecview=mv_type=fp
    
  • 使用ffplay可视化PB帧的多方向MVs

      ffplay -flags2 +export_mvs input.mp4 -vf codecview=mv=pf+bf+bb
    

29.16 colorbalance

修改输入帧的原色(红色,绿色和蓝色)的强度。

滤镜允许在阴影,中间调或高光区域调整输入帧,以获得红色 - 青色,绿色 - 品红色或蓝 - 黄色平衡。

正调整值将平衡移向原色,朝向互补色移动负值。

过滤器接受以下选项:

rs
gs 
bs

调整红色,绿色和蓝色阴影(最暗的像素)。

rm
gm
bm

调整红色,绿色和蓝色中间调(中等像素)。

rh
gh
bh

调整红色,绿色和蓝色高光(最亮像素)。

选项的允许范围是[-1.0,1.0]。 默认值为0

29.16.1 示例

  • 为阴影添加红色偏色:

      colorbalance=rs=.3
    

29.17 colorkey

RGB色彩空间颜色键控。

过滤器接受以下选项:

color

颜色将被透明度取代。

similarity

与关键颜色的相似百分比。

0.01仅匹配确切的键颜色,而1.0匹配所有内容。

blend

混合百分比。

0.0使像素完全透明或根本不透明。

较高的值导致半透明像素,透明度越高,像素颜色与关键颜色越相似。

29.17.1 示例

  • 使输入图像中的每个绿色像素都透明:

      ffmpeg -i input.png -vf colorkey=green out.png
    
  • 在静态背景图像上叠加绿屏视频:

      ffmpeg -i background.png -i video.mp4 -filter_complex "[1:v]colorkey=0x3BBD1E:0.3:0.2[ckout];[0:v][ckout]overlay[out]" -map "[out]" output.flv
    

29.18 colorlevels

使用级别调整视频输入帧。

过滤器接受以下选项:

rimin
gimin
bimin
aimin

调整红色,绿色,蓝色和alpha输入黑点。 选项的允许范围是[-1.0,1.0]。 默认值为0

rimax
gimax
bimax
aimax

调整红色,绿色,蓝色和alpha输入白点。 选项的允许范围是[-1.0,1.0]。 默认值为1

输入levels用于淡化高光(亮色调),使阴影变暗(暗色调),改变亮色调和暗色调的平衡。

romin
gomin
bomin
aomin

调整红色,绿色,蓝色和alpha输出黑点。 选项的允许范围是[0,1.0]。 默认值为0

romax
gomax
bomax
aomax

调整红色,绿色,蓝色和alpha输出白点。 选项的允许范围是[0,1.0]。 默认值为1

输出levels允许手动选择受约束的输出level范围。

29.18.1 示例

  • 使视频输出更暗:

      colorlevels=rimin=0.058:gimin=0.058:bimin=0.058
    
  • 增加对比度:

      colorlevels=rimin=0.039:gimin=0.039:bimin=0.039:rimax=0.96:gimax=0.96:bimax=0.96
    
  • 使视频输出更轻:

      colorlevels=rimax=0.902:gimax=0.902:bimax=0.902
    
  • 增加亮度:

      colorlevels=romin=0.5:gomin=0.5:bomin=0.5
    

29.19 colorchannelmixer

通过重新混合颜色通道来调整视频输入帧。

此滤镜通过添加与相同像素的其他通道关联的值来修改颜色通道。 例如,如果要修改的值为红色,则输出值将为:

red=red*rr + blue*rb + green*rg + alpha*ra

过滤器接受以下选项:

rr
rg
rb
ra

调整输入红色,绿色,蓝色和alpha通道对输出红色通道的贡献。 rr的默认值为1rgrbra的默认值为0

gr
gg
gb
ga

调整输入红色,绿色,蓝色和alpha通道对输出绿色通道的贡献。 对于gg,默认值为1,对于grgbga,默认值为0

br
bg
bb
ba

调整输入红色,绿色,蓝色和alpha通道对输出蓝色通道的贡献。 bb的默认值为1brbgba的默认值为0

ar
ag
ab
aa

调整输入红色,绿色,蓝色和alpha通道对输出alpha通道的贡献。 aa的默认值为1aragab的默认值为0

选项的允许范围是[-2.0,2.0]

29.19.1 示例

  • 将源转换为灰度:

      colorchannelmixer=.3:.4:.3:0:.3:.4:.3:0:.3:.4:.3
    
  • 模拟棕褐色调:

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

推荐阅读更多精彩内容