FFmpeg进阶:视频滤镜大全

在做视频特效的时候,很多特效其实不用自己写,FFmpeg的视频滤镜里面提供了很丰富的滤镜特效。这里翻译了一下FFmpeg官方文档的所有视频滤镜的介绍,供大家参考。由于很多地方概念比较生疏,翻译的可能不恰当,欢迎反馈修改意见。

滤镜名称 滤镜介绍
addroi 在视频帧中标记感兴趣的区域
alphaextract 从输入中提取 alpha 分量作为灰度视频。
alphamerge 用第二个输入的灰度值添加或替换主输入的 alpha 分量。
amplify 放大当前像素与同一像素位置的相邻帧的像素之间的差异
ass 与字幕过滤器相同,它仅限于 ASS字幕文件
atadenoise 将自适应时间平均降噪器应用于视频输入
avgblur 应用平衡模糊滤镜
backgroundkey 将静态背景变为透明
bbox 计算输入帧亮度平面中非黑色像素的边界框
bilateral 应用双边滤波器,空间平滑,同时保留边缘
bilateral_cuda CUDA 加速双边滤波器,一种边缘保持滤波器
bitplanenoise 显示和测量位平面噪声
blackdetect 检测全黑的视频间隔。可用于检测章节转换、广告或无效录音。
blackframe 检测全黑的帧。可用于检测章节转换或广告。
输出行由检测到的帧的帧号、黑度百分比、文件中的位置和时间戳组成。
blend 将两个视频帧相互混合
blockdetect 在不改变输入帧的情况下确定帧的块度
blurdetect 在不改变输入帧的情况下确定帧的模糊度
bm3d 使用块匹配 3D 算法去噪帧
boxblur 矩形模糊算法
bwdif 对输入视频进行去隔行扫描
cas 将对比度自适应锐化滤镜应用于视频流
chromahold 删除除某些颜色之外的所有颜色的所有颜色信息
chromakey YUV色彩空间色彩/色度键控
chromakey_cuda CUDA加速 YUV 颜色空间颜色/色度键控
chromanr 减少色度噪音
chromashift 水平/垂直移动色度像素
ciescope 显示 CIE 颜色图,其上覆盖有像素
codecview 可视化某些编解码器导出的信息
colorbalance 修改输入帧的原色(红色、绿色和蓝色)的强度
colorcontrast 调整 RGB 组件之间的颜色对比度
colorcorrect 有选择地为黑色和白色调整颜色白平衡。此滤镜在 YUV 颜色空间中运行
colorchannelmixer 通过重新混合颜色通道来调整视频输入帧
colorize 在视频流上叠加纯色
colorkey RGB 颜色空间颜色键控
colorhold 删除所有 RGB 颜色的所有颜色信息,除了某些颜色
colorlevels 使用级别调整视频输入帧
colormap 将自定义颜色图应用于视频流
colormatrix 转换颜色矩阵
colorspace 转换色彩空间、传输特性或原色。输入视频需要有一个均匀的大小
colorspace_cuda 色彩空间过滤器的CUDA加速实现
colortemperature 调整视频中的色温以模拟环境色温的变化
convolution 应用3x3、5x5、7x7或水平/垂直最多 49 个元素的卷积
convolve 使用第二个流作为脉冲在频域中应用视频流的2D卷积
copy 将输入视频源原封不动地复制到输出。这主要用于测试目的
coreimage 在OSX上使用Apple的CoreImage API 在 GPU 上进行视频过滤
cover_rect 覆盖一个矩形物体
crop 将输入视频裁剪为给定尺寸
cropdetect 自动检测裁剪尺寸
cue 延迟视频过滤,直到给定的挂钟时间戳。
curves 使用曲线应用颜色调整
datascope 视频数据分析过滤器
dblur 应用方向模糊滤镜
dctdnoiz 使用 2D DCT(频域滤波)去噪帧
deband 从输入视频中删除条带伪影。它通过用参考像素的平均值替换带状像素来工作
deblock 从输入视频中去除块状伪影
decimate 定期丢弃重复的帧
deconvolve 使用第二个流作为脉冲在频域中应用视频流的 2D 反卷积
dedot 减少视频中的交叉亮度(点爬行)和交叉颜色(彩虹)
deflate 对视频应用放气效果
deflicker 移除时间帧亮度变化
dejudder 消除部分交错电视电影内容产生的抖动
delogo 通过周围像素的简单插值来抑制电视台标志
derain 通过应用基于卷积神经网络的 derain 方法去除输入图像/视频中的雨水
deshake 尝试修复水平和/或垂直偏移的微小变化。
despill 去除由绿屏或蓝屏的反射颜色引起的对前景颜色的不必要污染
detelecine 应用电视电影操作的精确逆运算。
dilation 对视频应用膨胀效果
displace 如第二个和第三个输入流所示置换像素
dnn_classify 使用基于边界框的深度神经网络进行分类
dnn_detect 使用深度神经网络进行对象检测
dnn_processing 使用深度神经网络进行图像处理
drawbox 在输入图像上绘制一个彩色框
drawgraph 使用输入视频元数据绘制图形
drawgrid 在输入图像上绘制网格
drawtext 从视频顶部的指定文件中绘制文本字符串或文本
edgedetect 检测并绘制边缘。该过滤器使用 Canny 边缘检测算法
elbg 使用ELBG(增强 LBG)算法应用分色效果
entropy 测量视频帧颜色通道直方图中的灰度熵
epx 应用专为像素艺术设计的EPX放大滤镜
eq 设置亮度、对比度、饱和度和近似伽玛调整
erosion 对视频应用侵蚀效果
estdif 对输入视频进行去隔行扫描
exposure 调整视频流的曝光
extractplanes 从输入视频流中提取颜色通道分量到单独的灰度视频流中
fade 淡入淡出效果
feedback 反馈过滤器
fftdnoiz 使用 3D FFT(频域滤波)对帧进行去噪。
fftfilt 将任意表达式应用于频域中的样本
field 使用步幅算法从隔行扫描图像中提取单个字段以避免浪费CPU 时间。
输出帧被标记为非隔行扫描
fieldhint 通过从提示文件以数字形式提供的周围帧复制顶部和底部字段来创建新帧
fieldmatch 逆电视电影的场匹配滤波器
fieldorder 转换输入视频的场序
fifo,afifo 缓冲输入图像并在请求时发送它们
fillborders 填充输入视频的边框,不改变视频流尺寸。
find_rect 找到一个矩形对象
floodfill 具有相同像素分量值和另一个值的泛滥区域
format 将输入视频转换为指定的像素格式之一。
fps 通过根据需要复制或丢弃帧将视频转换为指定的恒定帧速率
framepack 将两个不同的视频流打包成立体视频
framerate 通过从源帧插入新的视频输出帧来挂起帧速率
framestep 每第 N 帧选择一帧
freezedetect 检测冻结的视频
freezeframes 冻结视频帧
frei0r 对输入视频应用 frei0r 效果
fspp 应用快速简单的后处理。它是 spp 的更快版本
gblur 应用高斯模糊滤镜
geq 将通用方程应用于每个像素
gradfun 修复有时通过截断到 8 位颜色深度而引入近乎平坦区域的条带伪影
graphmonitor 显示各种过滤图统计信息
grayworld 基于灰色世界假设应用颜色校正的颜色恒常性过滤器
greyedge 一种颜色恒常变化滤波器
它通过灰度边缘算法估计场景照明并相应地校正场景颜色
guided 应用引导滤波器进行保边平滑、去雾等
haldclut 将 Hald CLUT 应用到视频流
hflip 水平翻转输入视频
histeq 此过滤器在每帧基础上应用全局颜色直方图均衡
histogram 计算并绘制输入视频的颜色分布直方图
hqdn3d 这是一个高精度/高质量的 3d 去噪滤波器
hwdownload 将硬件帧下载到系统内存
hwmap 将硬件帧映射到系统内存或另一个设备
hwupload 将系统内存帧上传到硬件表面
hwupload_cuda 将系统内存帧上传到 CUDA 设备
hqx 应用专为像素艺术设计的高质量放大滤镜
hstack 水平堆叠输入视频
hsvhold 将某个 HSV 范围转换为灰度值
hsvkey 将某个 HSV 范围转换为透明度
hue 修改输入的色调和/或饱和度
huesaturation 对输入视频流应用色相饱和度调整
hysteresis 通过连接组件将第一个流变成第二个流。这使得构建更强大的边缘掩码成为可能
iccdetect 从嵌入的 ICC 配置文件(如果存在)中检测色彩空间,并相应地更新帧的标签
iccgen 生成 ICC 配置文件并将它们附加到框架
identity 获取两个输入视频之间的身份分数
idet 检测视频隔行扫描类型
il 去交错或交错字段
inflate 对视频应用充气效果
interlace 来自渐进内容的简单隔行过滤器
kerndeint 通过应用 Donald Graft 的自适应内核去交错对输入视频进行去交错处理。
kirsch 应用 kirsch 算子输入视频流
lagfun 慢慢更新较暗的像素
lenscorrection 校正径向镜头畸变
lensfun 通过 lensfun 库应用镜头校正
libplacebo 基于libplacebo的灵活 GPU 加速处理过滤器
libvmaf 计算输入视频的参考/失真对的VMAF分数
limitdiff 使用第二个和可选的第三个视频流应用有限差分过滤器
limiter 将像素分量值限制在指定范围内
loop 循环视频帧
lut1d 将 1D LUT 应用于输入视频
lut3d 将 3D LUT 应用到输入视频
lumakey 将某些亮度值转换为透明度
lut, lutrgb, lutyuv 计算用于将每个像素分量输入值绑定到输出值的查找表
并将其应用于输入视频
tlut2 接受两个输入流并输出一个流
maskedclamp 用第二个输入和第三个输入流钳制第一个输入流
maskedmax 使用第二输入流和第一输入流之间的绝对差以及
第三输入流和第一输入流之间的绝对差将第二和第三输入流合并为输出流
maskedmerge 使用第三个输入流中的每像素权重将第一个输入流与第二个输入流合并
maskedmin 使用第二输入流和第一输入流之间的绝对差以及
第三输入流和第一输入流之间的绝对差将第二和第三输入流合并为输出流。
maskedthreshold 选取像素比较固定阈值的两个视频流的绝对差
maskfun 从输入视频创建蒙版
mcdeint 应用运动补偿去隔行扫描
median 从由半径定义的某个矩形中选择中值像素
mergeplanes 合并来自多个视频流的颜色通道分量
mestimate 使用块匹配算法估计和导出运动矢量。
运动矢量存储在帧侧数据中以供其他过滤器使用
midequalizer 使用两个视频流应用 Midway Image Equalization 效果
minterpolate 使用运动插值将视频转换为指定的帧速率
mix 将多个视频输入流混合为一个视频流
monochrome 使用自定义滤色器将视频转换为灰色
morpho 该过滤器允许应用主形态灰度变换、腐蚀和扩张
以及在第二个输入流中设置的任意结构
mpdecimate 丢弃与前一帧差别不大的帧以降低帧速率
msad 获取两个输入视频之间的 MSAD(绝对差的平均和)
multiply 将第一视频流像素值与第二视频流像素值相乘
negate 反转输入视频。
nlmeans 使用非局部均值算法去噪帧
nnedi 使用神经网络边缘定向插值对视频进行去隔行扫描
noformat 强制 libavfilter 不使用任何指定的像素格式作为下一个过滤器的输入
noise 在视频输入帧上添加噪声
normalize 标准化 RGB 视频(又名直方图拉伸、对比度拉伸)
null 不做处理
ocr 光学文字识别
ocv 使用 libopencv 应用视频转换
oscilloscope 2D 视频示波器
overlay 将一个视频叠加在另一个视频之上
overlay_cuda 将一个视频叠加在另一个视频之上
owdenoise 应用过完备小波去噪器
pad 向输入图像添加填充,并将原始输入放置在提供的 x、y 坐标处
palettegen 为整个视频流生成一个调色板
paletteuse 使用调色板对输入视频流进行下采样
perspective 未垂直于屏幕录制的视频的正确视角
phase 将隔行扫描视频延迟一个场时间,以便场序发生变化
photosensitivity 减少视频中的各种闪烁,从而帮助癫痫患者
pixdesctest 像素格式描述符测试过滤器,主要用于内部测试。输出视频应该等于输入视频
pixelize 将像素化应用于视频流
pixscope 显示颜色通道的样本值。主要用于检查颜色和级别。
支持的最低分辨率为 640x480
pp 启用指定的后处理子过滤器链
pp7 应用后处理过滤器
premultiply 使用第二个流的第一个平面作为 alpha将alpha预乘效果应用于输入视频流
prewitt 应用prewitt算子输入视频流
pseudocolor 使用伪色更改视频中的帧颜色
psnr 获取两个输入视频之间的平均、最大和最小PSNR
pullup 下拉反转滤镜
qp 更改视频量化参数
random 将内部帧缓存中的视频帧刷新为随机顺序
readeia608 从视频帧的顶行读取隐藏式字幕
readvitc 从视频帧的顶行读取垂直间隔时间码(VITC)信息
remap 使用 2nd: Xmap 和 3rd: Ymap 输入视频流重新映射像素
removegrain 用于渐进式视频的空间降噪器
removelogo 抑制电视台徽标,使用图像文件来确定徽标由哪些像素组成
repeatfields 此过滤器使用视频 ES 标头中的 repeat_field 标志,并根据其值硬重复字段
reverse 反转视频剪辑
rgbashift 水平和/或垂直移动 R/G/B/A 像素
roberts 应用罗伯茨交叉算子输入视频流
rotate 以弧度表示的任意角度旋转视频
sab 应用形状自适应模糊
scale 使用 libswscale 库缩放(调整大小)输入视频
scale_cuda 使用cuda内核加速视频缩放
scale_npp 使用在 CUDA 视频帧上执行缩放和/或像素格式转换
scale2ref 根据参考视频缩放(调整大小)输入视频
scale2ref_npp 使用 NVIDIA libnpp根据参考视频缩放(调整大小)输入视频
scharr 应用 scharr 算子输入视频流
scroll 以恒定速度水平和/或垂直滚动输入视频
scdet 检测视频场景变化
selectivecolor 此滤镜类似于 Adobe Photoshop 可选颜色工具。
separatefields 基于帧的视频输入并将每个帧拆分为其组件场
生成一个新的半高剪辑,帧速率和帧数是其两倍
setdar, setsar 过滤器设置过滤器输出视频的显示纵横比
setfield 输出视频帧的力场
setparams 输出视频帧的强制帧参数
sharpen_npp 使用 NVIDIA libnpp通过边界控制执行图像锐化
shear 对输入视频应用剪切变换
showinfo 显示包含每个输入视频帧的各种信息的一行。 输入视频未修改
showpalette 显示每帧的 256 色调色板。 此过滤器仅与 pal8 像素格式帧相关
shuffleframes 重新排序和/或复制和/或删除视频帧
shufflepixels 重新排列视频帧中的像素
shuffleplanes 重新排序和/或复制视频平面
signalstats 评估有助于确定与模拟视频媒体数字化相关的问题的各种视觉指标
signature 过滤器可以处理多个输入。
在这种情况下,可以额外计算输入之间的匹配。
过滤器总是通过第一个输入。 每个流的签名可以写入一个文件。
siti 计算视频的空间信息 (SI) 和时间信息 (TI) 分数
smartblur 在不影响轮廓的情况下模糊输入视频
sobel 将 sobel 算子应用于输入视频流
spp 应用一个简单的后处理过滤器
sr 通过应用一种基于卷积神经网络的超分辨率方法来缩放输入
ssim 获取两个输入视频之间的 SSIM
stereo3d 在不同的立体图像格式之间转换
streamselect
astreamselect
选择视频或音频流
subtitles 使用 libass 库在输入视频上绘制字幕
super2xsai 使用像素艺术缩放算法将输入缩放2倍并平滑
swaprect 交换视频中的两个矩形对象
swapuv 交换uv平面
tblend 混合连续的视频帧
telecine 对视频应用电视电影处理
thistogram 计算并绘制输入视频随时间变化的颜色分布直方图
threshold 对视频流应用阈值效应
thumbnail 在给定的连续帧序列中选择最具代表性的帧
tile 将几个连续的帧平铺在一起
tinterlace 执行各种类型的时间场交错
tmedian 从几个连续的输入视频帧中选取中值像素
tmidequalizer 应用时间中途视频均衡效果
tmix 混合连续的视频帧
tonemap 来自不同动态范围的色调映射颜色
tpad 临时填充视频帧
transpose 转置输入视频中的行和列,并可选择翻转它
transpose_npp 转置输入视频中的列和行,并可选择翻转它。
trim 修剪输入,使输出包含输入的一个连续子部分
unpremultiply 使用第二个流的第一个平面作为 alpha
将 alpha unpremultiply 效果应用于输入视频流
unsharp 锐化或模糊输入视频
untile 将由平铺图像组成的视频分解为单个图像
uspp 应用超慢/简单的后处理过滤器
v360 在各种格式之间转换 360 视频
vaguedenoiser 应用基于小波的降噪器
varblur 通过使用第二个视频流设置模糊半径来应用可变模糊过滤器
vectorscope 在二维图形(称为矢量示波器)中显示2个颜色分量值
vidstabdetect 分析视频稳定/去抖动
vidstabtransform 视频稳定/去抖动
vflip 垂直翻转输入视频
vfrdet 检测可变帧率视频
vibrance 提高或改变饱和度
vif 获取两个输入视频之间的平均 VIF(视觉信息保真度)
vignette 制作或反转自然渐晕效果
vmafmotion 获取视频的平均 VMAF 运动分数
vstack 垂直堆叠输入视频
w3fdif 去隔行输入视频
waveform 视频波形监视器
doubleweave 编织采用基于场的视频输入并将每两个连续场连接成单个帧
从而产生帧速率和帧数减半的新双倍高度剪辑
xbr 应用专为像素艺术设计的 xBR 高质量放大滤镜
xcorrelate 在第一和第二输入视频流之间应用归一化互相关
xfade 将一个输入视频流的淡入淡出应用于另一个输入视频流
xmedian 从多个输入视频中选取中值像素
xstack 将视频输入堆叠到自定义布局中
yadif 去隔行输入视频
yadif_cuda 使用 yadif 算法对输入视频进行去隔行扫描
yaepblur 在保留边缘的同时应用模糊滤镜
zoompan 应用缩放和平移效果
zscale 缩放(调整大小)输入视频

你可能感兴趣的:(音视频,ffmpeg,音视频,编码解码,流媒体,c++)