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

相关推荐
普通人618 小时前
宝塔中实现按地区过滤和官网跳转伪静态
服务器·开发语言·nginx·1024程序员节
普通人620 小时前
php处理百度编辑器有误html
开发语言·编辑器·html·php·1024程序员节
智能直播1 天前
网络RTMP拉流不卡顿、声音不同步,一文讲透缓冲区、时间戳
开发语言·ffmpeg·php·音视频·视频编解码
八月的雨季 最後的冰吻2 天前
FFmepg-- 42-ffplay.c 线程安全机制深度分析
c语言·安全·ffmpeg
开开心心就好3 天前
把手机变成电脑麦克风,WiFi连接就能用
智能手机·ffmpeg·计算机外设·电脑·word·音视频
@嵌入式扫地僧3 天前
FFmpeg 解码 H.264 流提取 SEI 用户数据实战
ffmpeg·h.264·流媒体开发·sei 解析·自定义 sei
VimorphTech3 天前
ffmpeg.wasm 实战:浏览器提取视频音频,如何处理进度、取消和资源释放?
ffmpeg
小小龙学IT3 天前
FFmpeg 开源多媒体处理框架深度解析:从命令行到 libav* 全家桶
c语言·ffmpeg·开源
ofoxcoding4 天前
Gemini TTS 与 ElevenLabs 语音合成实测:同一段视频旁白效果对比
ai·ffmpeg·音视频
_大峰_5 天前
索尼 A7M4 误删视频恢复实战:基于原始卡镜像重建 MP4 数据
ffmpeg·数据恢复·音视频·mp4·exfat