FFmpeg的图像处理命令
调整图像大小
ffmpeg -i input.jpg -vf scale=640:360 output.jpg
上述命令将输入图像 input.jpg 调整为分辨率为 640x360 的输出图像 output.jpg。
图像裁剪
ffmpeg -i input.jpg -vf crop=640:360:80:60 output.jpg
上述命令将输入图像 input.jpg 裁剪为宽度 640,高度 360,x 轴偏移量为 80,y 轴偏移量为 60 的输出图像 output.jpg。
图像旋转
ffmpeg -i input.jpg -vf "transpose=1" output.jpg
上述命令将输入图像 input.jpg 逆时针旋转 90 度,输出图像 output.jpg。
图像加水印
ffmpeg -i input.jpg -i watermark.png -filter_complex "overlay=10:10" output.jpg
上述命令将输入图像 input.jpg 加上水印图像 watermark.png,水印位置为 (10,10),输出图像 output.jpg。
图像模糊
ffmpeg -i input.jpg -filter_complex "boxblur=5:1" output.jpg
上述命令将输入图像 input.jpg 进行模糊处理,模糊程度为 5,模糊类型为 boxblur,输出图像 output.jpg。
图像去噪
ffmpeg -i input.jpg -filter_complex "removegrain=20" output.jpg
上述命令将输入图像 input.jpg 进行去噪处理,去噪程度为 20,输出图像 output.jpg。
图像缩略图
ffmpeg -i input.jpg -vf "thumbnail,scale=640:360" -frames:v 1 output.jpg
上述命令将输入图像 input.jpg 转换为分辨率为 640x360 的缩略图,输出图像 output.jpg。
视频截图
视频截图是将视频中的某一帧或多帧图像提取出来,生成图片文件的过程。在 FFmpeg 中,使用 -ss 参数指定截取的时间点,使用 -vframes 参数指定截取的帧数,使用 -r 参数指定帧率。下面是一些常见的视频截图操作:
截取视频的第一帧作为封面图:
ffmpeg -i input.mp4 -ss 00:00:00.000 -vframes 1 output.jpg
截取视频中的一帧作为截图:
ffmpeg -i input.mp4 -ss 00:00:10.000 -vframes 1 output.jpg
其中 -ss 参数指定截取视频的时间点,-vframes 1 指定只截取一帧图像,output.jpg 指定输出文件名和格式。
截取视频中的多帧图像:
ffmpeg -i input.mp4 -ss 00:00:10.000 -t 5 -r 1 -f image2 output_%03d.jpg
其中 -ss 参数指定截取视频的起始时间点,-t 参数指定截取视频的时长,-r 1 指定每秒截取一帧,-f image2 指定输出为图片格式,output_%03d.jpg 指定输出文件名,%03d 表示输出文件名中的数字以三位数显示,逐个递增。
截取视频中的某个时间段内的多帧图像:
ffmpeg -i input.mp4 -ss 00:00:10.000 -t 5 -r 1 -f image2 output_%03d.jpg
其中 -ss 参数指定截取视频的起始时间点,-t 参数指定截取视频的时长,-r 1 指定每秒截取一帧,-f image2 指定输出为图片格式,output_%03d.jpg 指定输出文件名,%03d 表示输出文件名中的数字以三位数显示,逐个递增。
截取视频中的关键帧作为截图:
ffmpeg -i input.mp4 -vf select="eq(pict_type\,I)" -vframes 1 output.jpg
其中 -vf select="eq(pict_type\,I)" 参数指定选择视频中的关键帧作为截图,-vframes 1 指定只截取一帧图像,output.jpg 指定输出文件名和格式。
视频水印添加
在视频中添加水印可以保护版权,防止他人盗用或修改视频。FFmpeg提供了多种方式来添加水印,下面是一些常用的命令示例:
添加文本水印:
ffmpeg -i input.mp4 -vf "drawtext=fontfile=Arial.ttf:text='My Watermark':fontcolor=white:fontsize=24:x=10:y=10" output.mp4
这个命令会在输入视频的左上角添加一个白色的"My Watermark"文本水印。
添加图片水印
ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=10:10" output.mp4
这个命令将"watermark.png"图片叠加在输入视频的左上角。
添加透明图片水印:
ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=10:10:alpha=0.5" output.mp4
这个命令与前一个命令类似,但是"watermark.png"图片有50%的透明度。
添加滚动文本水印:
ffmpeg -i input.mp4 -vf "drawtext=fontfile=Arial.ttf:text='My Watermark':fontcolor=white:fontsize=24:x=w-tw-10:y=h-th-10:enable='between(t,5,15)'" output.mp4
这个命令将"My Watermark"文本水印添加在输入视频的右下角,从第5秒开始到第15秒结束,而且水印是在这期间滚动的。
这些命令只是FFmpeg添加水印的众多方法中的一部分。通过这些命令的示例,我们可以了解如何添加文本水印、图片水印以及一些高级选项,如水印位置、透明度和滚动文本水印等。
视频特效添加
在 FFmpeg 中,我们可以使用滤镜来添加各种视频特效。下面简单介绍几个常见的视频特效:
旋转特效
使用 rotate 滤镜可以对视频进行旋转。比如以下命令将视频逆时针旋转90度:
ffmpeg -i input.mp4 -vf "rotate=PI/2" output.mp4
镜像特效
使用 hflip 和 vflip 滤镜可以实现视频水平和垂直镜像。比如以下命令将视频水平镜像:
ffmpeg -i input.mp4 -vf "hflip" output.mp4
模糊特效
使用 boxblur 滤镜可以对视频进行模糊处理。比如以下命令对视频进行模糊处理:
ffmpeg -i input.mp4 -vf "boxblur=10:2" output.mp4
缩放特效
使用 scale 滤镜可以对视频进行缩放。比如以下命令将视频缩小一半:
ffmpeg -i input.mp4 -vf "scale=iw/2:ih/2" output.mp4
灰度特效
使用 colorchannelmixer 滤镜可以将视频转换为灰度图像。比如以下命令将视频转换为灰度图像:文章来源:https://www.toymoban.com/news/detail-756354.html
ffmpeg -i input.mp4 -vf "colorchannelmixer=0.3:0.4:0.3:0:0.3:0.4:0.3:0:0.3:0.4:0.3" output.mp4
在 colorchannelmixer 滤镜中,第一行表示红色通道、绿色通道、蓝色通道的转换系数,第二行表示常数项。文章来源地址https://www.toymoban.com/news/detail-756354.html
到了这里,关于4、ffmpeg系列学习——FFmpeg的图像处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!