FFmpeg去除水印
delogo是FFmpeg中的一个过滤器,用于从视频中删除不需要的标志或水印。它的基本语法是:
delogo=x:y:w:h[:band[:show]]
其中:
x和y:标志或水印左上角的坐标。w和h:标志或水印的宽度和高度。
band:(可选)边缘模糊的宽度。默认值是4。
show:(可选)如果设置为1,将显示一个矩形,表示删除的区域。默认值是0。
例如,以下命令将从视频的左上角删除一个200x100像素的标志或水印:
ffmpeg -i input.mp4 -vf "delogo=x=0:y=0:w=200:h=100" output.mp4
注意,delogo过滤器会尝试用周围的像素来填充删除的区域,但结果可能并不完美。如果可能,最好在源视频中就不要添加不需要的标志或水印。
FFmpeg覆盖水印
用颜色复盖指定区域drawbox
drawbox是ffmpeg中的一个过滤器,用于在视频帧上绘制一个矩形。它的基本语法是:
drawbox=x:y:w:h:color[:t]
其中:
x和y:矩形左上角的坐标。默认值是0。
w和h:矩形的宽度和高度。默认值是源视频的宽度和高度。
color:矩形的颜色。可以是颜色名称(如red、green、blue等)或十六进制颜色代码(如#ff0000、#00ff00、#0000ff等)。默认值是black。
t:矩形的厚度。t=fill填充整个区域。
例如,以下命令将在视频的左上角绘制一个红色的200x100像素的矩形:
ffmpeg -i input.mp4 -vf "drawbox=x=0:y=0:w=200:h=100:color=red:t=5" output.mp4
注意,drawbox过滤器会改变视频的属性,可能会导致视频的质量降低。如果你只是想在视频上添加一个矩形,而不改变其他内容,你应该使用overlay过滤器。
FFmpeg覆盖区域
使用图片复盖指定区域overlay
overlay是ffmpeg中的一个过滤器,用于将一个视频流复盖在另一个视频流上。它的基本语法是:
overlay=x:y
其中:
x和y:复盖视频的左上角坐标。默认值是0。
例如,以下命令将一个视频(input2.mp4)复盖在另一个视频(input1.mp4)上:
ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex "overlay" output.mp4
你也可以指定复盖视频的位置。例如,以下命令将复盖视频放在主视频的右下角:
ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex "overlay=W-w:H-h" output.mp4
在这个命令中,W和H是主视频的宽度和高度,w和h是复盖视频的宽度和高度。
overlay同样可以将一个图片复盖在一个视频的指定职位,实现遮挡或者添加水印的功能。示例
ffmpeg -i input.mp4 -i logo.png -filter_complex"[0:v][1:v] overlay=25:25:enable='between(t,0,20)'" output.mp4
在这个命令中,overlay=25:25指定了图片的位置,enable='between(t,0,20)'指定了图片显示的时间范围。
FFmpeg模糊区域
使指定区域变模糊boxblur
boxblur是ffmpeg中的一个过滤器,用于对视频进行模糊处理。它的基本语法是:
boxblur=luma_radius[:luma_power][:chroma_radius[:chroma_power][:alpha_radius[:alpha_power]]]
其中:
luma_radius:亮度信道的模糊半径,单位是像素。值越大,模糊效果越明显。默认值是2.5。
luma_power:亮度信道的模糊强度。值越大,模糊效果越明显。默认值是1。
chroma_radius:色度信道的模糊半径,单位是像素。默认值是luma_radius。
chroma_power:色度信道的模糊强度。默认值是luma_power。
alpha_radius:透明度信道的模糊半径,单位是像素。默认值是0,表示不对透明度信道进行模糊处理。
alpha_power:透明度信道的模糊强度。默认值是1。
例如,以下命令将视频的亮度信道模糊半径设置为10,色度信道模糊半径设置为5:
ffmpeg -i input.mp4 -vf "boxblur=10:1:5:1" output.mp4
注意,boxblur过滤器会增加视频处理的时间和资源消耗,特别是当模糊半径较大时。
要使用boxblur指定区域,你需要使用crop和overlay过滤器与boxblur一起使用。以下是一个示例:
ffmpeg -i input.mp4 -filter_complex "[0:v]crop=200:200:100:100,boxblur=11[fg];[0:v][fg]overlay=100:100[v]" -map“[v]”output.mp4
还没有评论,来说两句吧...