1.FFmpeg源码分析:视频滤镜介绍(上)
FFmpeg源码分析:视频滤镜介绍(上)
FFmpeg在libavfilter模块提供了丰富的音视频滤镜功能。本文主要介绍FFmpeg的视频视频视频滤镜,包括黑色检测、源码源码视频叠加、去除去除色彩均衡、视频视频去除水印、源码源码boll函数源码抗抖动、去除去除矩形标注、视频视频九宫格等。源码源码
黑色检测滤镜用于检测视频中的去除去除纯黑色间隔时间,输出日志和元数据。视频视频若检测到至少具有指定最小持续时间的源码源码黑色片段,则输出开始、去除去除结束时间戳与持续时间。视频视频该滤镜通过参数选项rs、源码源码gs、bs、sqlite 源码剖析rm、gm、bm、rh、gh、bh来调整红、绿、蓝阴影、openswan源码解析基调与高亮区域的色彩平衡。
视频叠加滤镜将两个视频的所有帧混合在一起,称为视频叠加。顶层视频覆盖底层视频,输出时长为最长的视频。实现代码位于libavfilter/vf_blend.c,通过遍历像素矩阵计算顶层像素与底层像素的混合值。
色彩均衡滤镜调整视频帧的capi指标源码RGB分量占比,通过参数rs、gs、bs、rm、gm、bm、rh、gh、tms源码phpbh在阴影、基调与高亮区域进行色彩平衡调整。
去除水印滤镜通过简单插值抑制水印,仅需设置覆盖水印的矩形。代码位于libavfilter/vf_delogo.c,核心是基于矩形外像素值计算插值像素值。
矩形标注滤镜在视频画面中绘制矩形框,用于标注ROI兴趣区域。在人脸检测与人脸识别场景中,检测到人脸时会用矩形框进行标注。
绘制x宫格滤镜用于绘制四宫格、九宫格,模拟画面拼接或分割。此滤镜通过参数x、y、width、height、color、thickness来定义宫格的位置、大小、颜色与边框厚度。
调整yuv或rgb滤镜通过计算查找表,绑定像素输入值到输出值,然后应用到输入视频,实现色彩、对比度等调整。相关代码位于vf_lut.c,支持四种类型:packed 8bits、packed bits、planar 8bits、planar bits。
将彩色视频转换为黑白视频的滤镜设置U和V分量为,实现效果如黑白视频所示。