ffmpeg_Cropping video(剪裁视频)命令行

1.Cropping Basics

老版本的ffmpeg有bottom, left, right, top选项,但是现在已经被废弃了,而改用crop filter来进行描述。

值ow可从oh中得到,反之亦然,但是不可以从x和y中得到,因为x和y是从ow和oh中推断出来的。值x可从y中获取,反之亦然。比如:剪切输入帧的左第三,中第三,右第三,可以用下面的命令。

ffmpeg -i input -vf crop=iw/3:ih:0:0 output

ffmpeg -i input -vf crop=iw/3:ih:iw/3:0 output

ffmpeg -i input -vf crop=iw/3:ih:iw/3*2:0 output

2.Cropping frame center

当我们想剪裁帧的中间区域的时候,crop filter可以不使用x和y参数。默认的x和y是:

这就意味着剪切区域就在输入帧的中间位置。剪切语法如下:

ffmpeg -i input_file -vf crop=w:h out_file

剪切中间的一般帧,用命令:

ffmpeg -i input.avi -vf crop=iw/2:ih/2 output.avi

3.Automatic detection of crop area

为了探索一个非黑的区域,我们可以使用cropdetect filter。此自动剪切对于输入帧中包含一些黑色区域的情况非常有用,通常用于分辨率在4:3和16:9之间切换的时候。

limit参数描述了多少的黑色颜色被使用,0意味着全部的黑色都被剪切掉。下面是一个例子:

ffmpeg -i input.mpg -vf cropdetect=limit=0 output.mp4

4.Cropping of timmer

播放器一般都有一个进度条,能切换跳过多少时间等。但是大部分的实现是鼠标先拖动一段时间才能进行显示。ffmpeg有一个testsrc视频源包含一个timer,可以用下面的命令看到。

ffplay -f lavfi -i testsrc

testsrc默认是320*240pixels,并且里面的计时的数字有29*52像素,位置是从左上角为水平256像素,垂直94像素,为了剪切这个数字区域,我们可以用下面的命令。

ffmpeg -f lavfi -i testsrc -vf crop=29:52:256:94f -t 10 timer1.mpg

然后我们想用这个命令创建定时器显示多个数字,filter的描述和可以持续显示的时间都在下面表内:

如果我们想要高于52像素的数字,可以使用下面的命令:

ffplay -f lavfi -i testsrc=size=vga,然后就可以尝试上面表格中的命令。

尝试改变数字的颜色,可以使用lut filter,会在Color Correction章节进行介绍。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值