ffmpeg视频滤镜: 裁剪-crop

滤镜简述

复制代码
crop

官网链接 => FFmpeg Filters Documentation

crop滤镜可以对视频进行裁剪,并且这个滤镜可以接受一些变量比如时间和帧数,这样我们实现动态裁剪,从而实现一些特效。

滤镜使用

参数
复制代码
   out_w             <string>     ..FV.....T. set the width crop area expression (default "iw")
   w                 <string>     ..FV.....T. set the width crop area expression (default "iw")
   out_h             <string>     ..FV.....T. set the height crop area expression (default "ih")
   h                 <string>     ..FV.....T. set the height crop area expression (default "ih")
   x                 <string>     ..FV.....T. set the x crop area expression (default "(in_w-out_w)/2")
   y                 <string>     ..FV.....T. set the y crop area expression (default "(in_h-out_h)/2")
   keep_aspect       <boolean>    ..FV....... keep aspect ratio (default false)
   exact             <boolean>    ..FV....... do exact cropping (default false)
  • out_w 和 out_h 这两个参数是要裁剪的宽度和高度. w和h是这两个参数的别名。
  • x和y 是开始裁剪的位置
  • keep_aspect:等比例裁剪,要保持图片的原比例
  • exact:这个参数理解太清楚,按照翻译是精确裁剪的意思,不使用近似值进行裁剪。
可以接受的常量

|-------------------|--------------------------------|
| in_w,in_h,iw,ih | 输入图片的宽和高。iw和ih是in_w和in_h的缩写。 |
| out_w,out_h,ow,oh | 输出图片的宽和高。ow和oh是out_w和out_h的缩写。 |
| a | iw / ih |
| n | 第几帧 |
| t | 视频的第几秒 |

案例

原图

复制代码
ffmpeg -y -i ffm_media/air.jpg -filter_complex "crop=100:100:12:34"  result/crop/crop_test_01.jpg

从图片的(12,34)位置开始裁剪图片,裁剪后的图片是100*100

复制代码
ffmpeg -y -i ffm_media/air.jpg -filter_complex "crop=out_w=in_h"  result/crop/crop_test_03.jpg

从图片的中心位置开始裁剪,获取剩余的全部,相当于将图片分为四份,获取右下角部分

复制代码
ffmpeg -y -i ffm_media/short_dancer.mp4 -filter_complex "crop=in_w/2:in_h/2:(in_w-out_w)/2+((in_w-out_w)/2)*sin(n/10):(in_h-out_h)/2 +((in_h-out_h)/2)*sin(n/7)"  result/crop/crop_test_06.mp4

基于帧数,使用运镜特效,大家可以找个视频试试,这里上传视频不太方便,也可以进群找我要一下啊。

复制代码
ffmpeg -y -i ffm_media/short_dancer.mp4 -filter_complex "crop=in_w/2:in_h/2:(in_w-out_w)/2+((in_w-out_w)/2)*sin(t*10):(in_h-out_h)/2 +((in_h-out_h)/2)*sin(t*13)"  result/crop/crop_test_07.mp4

基于时间戳,使用运镜特效,大家可以找个视频试试,这里上传视频不太方便。

复制代码
## 祝你好运
 
hope("大神多多指点")
topic("有问题可以交流呀")
concat("求求QUN", "61480", "9646")

相关推荐
QMCY_jason3 小时前
Ubuntu 1804 编译ffmpeg qsv MediaSDK libva 遇到的问题记录
linux·ubuntu·ffmpeg
is08151 天前
使用 FFmpeg 实现 RTP 音频传输与播放
ffmpeg·音视频
yzx9910131 天前
JS与Go:编程语言双星的碰撞与共生
java·数据结构·游戏·小程序·ffmpeg
mpr0xy1 天前
编译支持cuda硬件加速的ffmpeg
ai·ffmpeg·nvidia·cuda
努力做小白1 天前
Linux驱动19 --- FFMPEG
linux·运维·驱动开发·单片机·嵌入式硬件·ffmpeg
Everbrilliant892 天前
macOs上交叉编译ffmpeg及安装ffmpeg工具
macos·ffmpeg·ffmpeg交叉编译·ffmpeg工具安装
饭来_2 天前
Python 使用环境下编译 FFmpeg 及 PyAV 源码(英特尔篇)
python·ubuntu·ffmpeg·conda
Auspemak-Derafru2 天前
使用ffmpeg转码h265后mac默认播放器不支持问题
macos·ffmpeg