最近一直在研究ffmpeg的过滤器使用,发现挺有意思的,这里列举几个个人感觉比较有用的过滤器filter,如下是代码实现,同样适用于命令行操作:
1、视频模糊:通过boxblur可以将画面进行模糊处理,第1个参数2:2是对亮度进行滤波的参数,分别表示算法处理的[半径:强度];第2个参数1:1是对色度进行滤波的参数,分别表示算法处理的[半径:强度]
string filterDesc = "boxblur=2:2:1:1";
2、视频锐化:有2组参数,默认值是"5:5:1.0:5:5:0.0",其中第1组“5:5:1.0”是对亮点做锐化算法的参数,5:5表示的是锐化算法中像素判断的子窗口大小,范围是[3,23]之间的奇数,1.0是强度参数,范围[-1.5,1.5],值越大纹理越明显,则锐化程度越高,但是值过大容易产生高亮的像素,即容易过曝;第2组“5:5:0.0”是色度做锐化算法的参数,5:5表示的是锐化算法中像素判断的子窗口大小,范围是[3,23]之间的奇数,0.0是强度参数,范围[-1.5,1.5],值越大纹理越明显,则锐化程度越高,强度参数过大容易导致色差过大。注意当强度参数为负数,则表示的是通过unsharp来实现画面的模糊
string filterDesc = "unsharp=5:5:0.9:5:5:0.1";
3、对比度(contrast)、亮度(brightness)、饱和度(saturation):用eq滤波器实现,对比度范围[-2.0,2.0],默认0;亮度