首页 > 其他分享 >ffmpeg特效处理

ffmpeg特效处理

时间:2024-11-09 09:42:08浏览次数:1  
标签:特效 ffmpeg 视频 处理 jpg mp4 output input

今天继续学习ffmpeg工具,上篇博客主要讲的是ffmpeg对音频和视频的处理,今天这篇是对图像的处理,没想到也能操作。它的命令和处理音视频的一样,都是命令行。能够处理图像的尺寸、裁剪、旋转、模糊、去噪、加水印和生成缩略图等。

1、图像处理命令
1.1、调整图像大小
ffmpeg -i input.jpg -vf scale=640:360 output.jpg
上述命令将输入图像 input.jpg 调整为分辨率为 640x360 的输出图像 output.jpg。

1.2、图像裁剪
ffmpeg -i input.jpg -vf crop=640:360:80:60 output.jpg
上述命令将输入图像 input.jpg 裁剪为宽度 640,高度 360,x 轴偏移量为 80,y 轴偏移量为 60 的输出图像 output.jpg。

1.3、图像旋转
ffmpeg -i input.jpg -vf "transpose=1" output.jpg
上述命令将输入图像 input.jpg 逆时针旋转 90 度,输出图像 output.jpg。

1.4、图像加水印
ffmpeg -i input.jpg -i watermark.png -filter_complex "overlay=10:10" output.jpg
上述命令将输入图像 input.jpg 加上水印图像 watermark.png,水印位置为 (10,10),输出图像 output.jpg。

1.5、图像模糊
ffmpeg -i input.jpg -filter_complex "boxblur=5:1" output.jpg
上述命令将输入图像 input.jpg 进行模糊处理,模糊程度为 5,模糊类型为 boxblur,输出图像 output.jpg。

1.6、图像去噪
ffmpeg -i input.jpg -filter_complex "removegrain=20" output.jpg
上述命令将输入图像 input.jpg 进行去噪处理,去噪程度为 20,输出图像 output.jpg。

1.7、图像缩略图
ffmpeg -i input.jpg -vf "thumbnail,scale=640:360" -frames:v 1 output.jpg
上述命令将输入图像 input.jpg 转换为分辨率为 640x360 的缩略图,输出图像 output.jpg。

2、视频截图
视频截图是将视频中的某一帧或多帧图像提取出来,生成图片文件的过程。在 FFmpeg 中,使用 -ss 参数指定截取的时间点,使用 -vframes 参数指定截取的帧数,使用 -r 参数指定帧率。下面是一些常见的视频截图操作:

2.1、截取视频的第一帧
ffmpeg -i input.mp4 -ss 00:00:00.000 -vframes 1 output.jpg
2.2、截取视频中的其中一帧
ffmpeg -i input.mp4 -ss 00:00:10.000 -vframes 1 output.jpg
其中 -ss 参数指定截取视频的时间点,-vframes 1 指定只截取一帧图像,output.jpg 指定输出文件名和格式。

2.3、截取视频中的多帧
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 表示输出文件名中的数字以三位数显示,逐个递增。

2.4、截取视频中的某个时间段内的多帧
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 表示输出文件名中的数字以三位数显示,逐个递增。

2.5、截取视频中的关键帧
ffmpeg -i input.mp4 -vf select="eq(pict_type\,I)" -vframes 1 output.jpg
其中 -vf select="eq(pict_type\,I)" 参数指定选择视频中的关键帧作为截图,-vframes 1 指定只截取一帧图像,output.jpg 指定输出文件名和格式。

3、视频水印添加
在视频中添加水印可以保护版权,防止他人盗用或修改视频。FFmpeg提供了多种方式来添加水印,下面是一些常用的命令示例:

3.1、添加文本水印
ffmpeg -i input.mp4 -vf "drawtext=fontfile=Arial.ttf:text='My Watermark':fontcolor=white:fontsize=24:x=10:y=10" output.mp4
这个命令会在输入视频的左上角添加一个白色的"My Watermark"文本水印。

3.2、添加图片水印
ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=10:10" output.mp4
这个命令将"watermark.png"图片叠加在输入视频的左上角。

3.3、添加透明图片水印
ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=10:10:alpha=0.5" output.mp4
这个命令与前一个命令类似,但是"watermark.png"图片有50%的透明度。

3.4、添加滚动文本水印
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添加水印的众多方法中的一部分。通过这些命令的示例,我们可以了解如何添加文本水印、图片水印以及一些高级选项,如水印位置、透明度和滚动文本水印等。

4、视频添加特效
在 FFmpeg 中,我们可以使用滤镜来添加各种视频特效。下面简单介绍几个常见的视频特效:

4.1、旋转特效
使用 rotate 滤镜可以对视频进行旋转。比如以下命令将视频逆时针旋转90度:

ffmpeg -i input.mp4 -vf "rotate=PI/2" output.mp4
4.2、镜像特效
使用 hflip 和 vflip 滤镜可以实现视频水平和垂直镜像。比如以下命令将视频水平镜像:

ffmpeg -i input.mp4 -vf "hflip" output.mp4
4.3、模糊特效
使用 boxblur 滤镜可以对视频进行模糊处理。比如以下命令对视频进行模糊处理:

ffmpeg -i input.mp4 -vf "boxblur=10:2" output.mp4
4.4、缩放特效
使用 scale 滤镜可以对视频进行缩放。比如以下命令将视频缩小一半:

ffmpeg -i input.mp4 -vf "scale=iw/2:ih/2" output.mp4
4.5、灰度特效
使用 colorchannelmixer 滤镜可以将视频转换为灰度图像。比如以下命令将视频转换为灰度图像:

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 滤镜中,第一行表示红色通道、绿色通道、蓝色通道的转换系数,第二行表示常数项。

标签:特效,ffmpeg,视频,处理,jpg,mp4,output,input
From: https://www.cnblogs.com/sathcal/p/18536341

相关文章

  • FFmpeg常用命令
    视频转MP4ffmpeg-iD:\ffmpeg\video\2\2.mp4-vcodeccopy-anD:\v\s\2.mp4视频获取音频ffmpeg-iD:\ffmpeg\video\3\2.mp4-acodeccopy-vnD:\v\m\2.aac视频音频合并ffmpeg-iD:\v\s\2.mp4-iD:\v\m\2.aac-c:vcopy-c:aaac-strictexperimentalD:\v\r\2......
  • php imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
    一个可以供PHP调用ImageMagick功能的PHP扩展。使用这个扩展可以使PHP具备和ImageMagick相同的功能。ImageMagick是一套功能强大、稳定而且免费的工具集和开发包,可以用来读、写和处理超过185种基本格式的图片文件,包括流行的TIFF,JPEG,GIF,PNG,PDF以及PhotoCD等格式。利用Image......
  • Springboot 整合 Java DL4J 打造自然语言处理之语音识别系统
    ......
  • Java 开发中的 9 个异常处理的避坑技巧:实战案例解析
    文章目录1.不要滥用catch一切的异常2.使用自定义异常明确表达业务逻辑3.切勿在finally中使用return4.避免吞掉异常5.避免在循环中创建异常6.利用`try-with-resources`自动关闭资源7.避免使用异常控制流程8.避免频繁创建和抛出自定义异常9.细分捕获异常类......
  • ethereum.FilterQuery 日志查询处理自定义事件
    前言:在开发中也是遇到这个问题了,并非常见的Transfer,Approve等在ERC20中定义的事件,只要你的事件在sol文件中存在,那还好处理,但是如果不存在,刚开始接触的时候,你可能就有点懵,我也是找了两天,查阅了很多资料,并没什么niao用,偶然看见了区块浏览器中的log才恍然大悟。问题:Uniswa......
  • WPF+MVVM案例实战与特效(二十六)- 3D粒子方块波浪墙效果实现
    文章目录1、案例效果2、案例实现1、文件创建2.功能代码实现3、粒子功能应用1、前端布局与样式2、代码解释2、后端功能代码1、案例效果2、案例实现1、文件创建打开Wpf_Examples项目、Models文件夹下创建3D粒子模型类ParticleCubeWaveMode......
  • 华为机试HJ30 字符串合并处理
    首先看一下题描述按照指定规则对输入的字符串进行处理。详细描述:第一步:将输入的两个字符串str1和str2进行前后合并。如给定字符串"dec"和字符串"fab",合并后生成的字符串为"decfab"第二步:对合并后的字符串进行排序,要求为:下标为奇数的字符和下标为偶数的字符分别从......
  • 第二周学习笔记Linux:Linux用户权限管理 |文本处理|shell基础
    用户权限命令以及ACL权限相关命令1.Linux安全模型资源分派:Authenticaton:登陆认证,验证用户身份Authorization:授权,不同的用户设置不同权限Accouting:审计,检查用户的时候行为即Linux的AAA认证,是针对网络设备的网络访问控制策略和安全模型1用户Linux是多系统用户,可以......
  • Bat To Exe Converter软件:将批处理文件bat转换成exe应用程序
    原创陈坚浩陈坚浩:分享IT技术文章、分享工作经验、分享生活感悟。BatToExeConverter软件可以把批处理文件bat转换为exe可执行文件,甚至运用密码保护文件,生成的.EXE是独立的文件,不需要任何的.DLL运行。(1)准备好bat文件@echooffechoGatheringcomputername...e......
  • 【AE】Adobe专业视频后期处理软件 After Effects软件下载(最全)
    目录软件简介1.1功能概述1.2发展历程1.3应用领域下载系统要求3.1硬件要求3.2操作系统要求3.3软件兼容性软件简介AdobeAfterEffects(简称AE)是一款由Adobe公司开发的专业视频后期处理软件,广泛应用于影视特效制作、动态图形设计和合成等领域。自其发布以来,AE......