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")

相关推荐
胡耀超9 小时前
DataOceanAI Dolphin(ffmpeg音频转化教程) 多语言(中国方言)语音识别系统部署与应用指南
python·深度学习·ffmpeg·音视频·语音识别·多模态·asr
byxdaz9 小时前
FFmpeg QoS 处理
ffmpeg
codelancera2 天前
ffmpeg-调整视频分辨率
ffmpeg·音视频
chenchao_shenzhen3 天前
RK3568嵌入式音视频硬件编解码4K 60帧 rkmpp FFmpeg7.1 音视频开发
ffmpeg·音视频·rk3588·音视频开发·嵌入式开发·瑞芯微rk3568·硬件编解码
_多拉不懂A梦3 天前
FFmepg源码系列-avformat_open_input()
c++·ffmpeg·音视频
阿飞__7 天前
C++使用FFmpeg进行视频推流
c++·ffmpeg·音视频
mortimer8 天前
pydub下音频处理:跨越wav格式的4GB限制这道坎
python·ffmpeg·numpy
aqi008 天前
FFmpeg开发笔记(八十)使用百变魔音AiSound实现变声特效
android·ffmpeg·音视频·直播·流媒体
王江奎8 天前
FFmpeg 视频旋转信息处理:3.4 vs 7.0.2
ffmpeg·音视频