《FFmpeg Basics》中文版-05-裁剪视频

写在前面如果您对音视频技术感兴趣,可以订阅我的专题:音视频专辑也可以关注我的简书账户:张芳涛,我后期会发布更多的音视频以及图像处理方面的文章。正文裁剪视频意味着从输入到输出中选择想要的矩形区域而没有余数。 裁剪通常用于调整大小,填充和其他编辑。裁剪基础知识较老的FFmpeg版本有cropbottom、cropleft、cropright和croptop选项,但现在已弃用,并使用下表中描述的裁剪操作。

视频过滤器:裁剪描述将输入视频帧的宽度和高度从x和y值表示的位置裁剪到指定的宽度和高度;x和y是输出的左上角坐标,协调系统的中心是输入视频帧的左上角。如果使用了可选的keep_aspect参数,将会改变输出SAR(样本宽比)以补偿新的DAR(显示长宽比)语法crop=ow[:oh[:x[:y[:keep_aspect]]]]************用于ow和oh参数的表达式中的可用变量x, y对x的计算值(从左上角水平方向的像素个数)和y(垂直像素的数量),对每个帧进行评估,x的默认值为(iw - ow)/2, y的默认值为(ih - oh)/2in_w, iw输入的宽度in_h, ih输入的高度out_w, ow输出(裁剪)宽度,默认值= iwout_h, oh输出(裁剪)高度,默认值= iha纵横比,与iw/ih相同sar输入样本比例dar输入显示宽比,等于表达式a*sarhsub, vsub水平和垂直的色度子样本值,对于像素格式yuv422p, hsub的值为2,vsub为1n输入框的数目,从0开始pos位置在输入框的文件中,如果不知道NANt时间戳以秒表示,如果输入时间戳未知ow的值可以从oh得到,反之亦然,但不能从x和y中得到,因为这些值是在ow和oh之后进行的。x的值可以从y的值中得到,反之亦然。例如,在输入框的左三、中三和右三,我们可以使用命令:ffmpeg -i input -vf crop=iw/3:ih:0:0 outputffmpeg -i input -vf crop=iw/3:ih:iw/3:0 outputffmpeg -i input -vf crop=iw/3:ih:iw/3*2:0 output原视频这样:(就当给人家打广告了)

经过如下的测试指令:ffmpeg -i /Users/zhangfangtao/Desktop/test.mp4 -vf crop=iw/3:ih:0:0 /Users/zhangfangtao/Desktop/newTest.mp4让我重新编码之后长这样:(惊不惊喜?意不意外)再用下面的测试指令:ffmpeg -i /Users/zhangfangtao/Desktop/test.mp4 -vf crop=iw/3:ih:iw/3:0 /Users/zhangfangtao/Desktop/newTest.mp4生成的视频如下图:这次显示的中间的三分之一iw/3:ih使用如下指令:ffmpeg -i /Users/zhangfangtao/Desktop/test.mp4 -vf crop=iw/3:ih:iw/3*2:0 /Users/zhangfangtao/Desktop/newTest.mp4生成的视频如下图:(最右边的三分之一)image.png下图是相关参数的示意图:裁剪框中心当我们想要裁剪框架中心的区域时,作物过滤器的设计可以跳过x和y参数的输入。x和y的默认值是。这意味着默认值被设置为自动裁剪输入中心的区域。该命令语法对w宽度和h高度的矩形中心区域进行裁剪。ffmpeg -i input_file -vf crop=w:h output_file我做了一个100*100的裁剪,指令如下:ffmpeg -i /Users/zhangfangtao/Desktop/test.mp4 -vf crop=100:100 /Users/zhangfangtao/Desktop/newTest.mp4输出的视频长这样:为了裁剪中间的半帧,我们可以使用以下命令:ffmpeg -i input.avi -vf crop=iw/2:ih/2 output.avi我的测试指令:ffmpeg -i /Users/zhangfangtao/Desktop/test.mp4 -vf crop=iw/2:ih/2 /Users/zhangfangtao/Desktop/newTest.mp4裁剪之后的视频:自动检测裁剪区域为了自动检测出裁剪的非黑色区域,我们可以使用crop检测过滤器,如下表所示。当输入视频中包含一些黑条时,这种自动裁剪是有用的,通常是在从第4:3到16:9的转换之后,反之亦然。描述检测作物过滤器的作物大小,结果是由参数确定的输入帧的非黑色区域语法cropdetect[=limit[:round[:reset]]]all parameters are optional************参数的描述limit阈值,从0(无)到255 (all),默认值= 24round-即使是整数,宽度和高度也必须是可分割的- 4:2 2视频需要一个2的值,它只给出了维度-偏移量自动更改为中心帧-默认值为16,它是许多编解码器的最佳值reset计数器决定了多少帧crop探测将重置之前检测到的最大视频区域并重新开始检测当前最优的作物区域。默认值为0。当通道标识扭曲了视频区域时,这是很有用的。0表示永远不会重置和返回在回放期间遇到的最大区域limit参数指定了选择了多少深颜色的输出,零值意味着只有完整的黑色被裁剪。例如,要裁剪非黑输出,我们可以使用以下命令:(我这边也没存在黑色边框的视频,测试了几个,没发现有啥用)ffmpeg -i input.mpg -vf cropdetect=limit=0 output.mp4时间的裁剪媒体播放器通常有一个进度条,显示经过的秒数,但大多数只有在鼠标指针停止并在特定持续时间后隐藏时才会显示。 FFmpeg包含一个包含定时器的testsrc视频源,我们可以使用以下命令显示它:这里面大家可能会遇到一个问题,你编译出来的ffmpeg里面可能没有ffplay,我是遇到过这个问题,网上找了很多方案,也没啥用,最后来了一个简单直接的。。。。编译FFmpeg之后没有ffplay?方法在这儿ffplay -f lavfi -i testsrc我在自己电脑上测试的,指令和上面的一样,显示的效果如下图所示:testsrc的默认大小是320x240像素,初始计时器的数字0有29x52像素大小,它在左上角的位置是256个像素,垂直于94像素。要裁剪一个数字的面积,我们可以使用以下命令:ffmpeg -f lavfi -i testsrc -vf crop=29:52:256:94 -t 10 timer1.mpg我在自己的电脑上测试了一下,显示的效果如下图(一个10秒钟,20K的小视频):我们想用这个命令来创建一个有1、2、3和4位数字的定时器,每个数字的筛选器和时间期限的规格都在表中:数的位数数字过滤器规范时长图片1crop=29:52:256:949 seconds0 min : 9 sec00:00:092crop=61:52:224:9499 seconds1 min : 39 sec00:01:393crop=93:52:192:94999 seconds16 min : 39 sec00:16:394crop=125:52:160:949999 seconds2 hours : 46 min : 39 sec02:46:39给大家示范一下下面的指令:ffmpeg -f lavfi -i testsrc -vf crop=125:52:160:94 -t 50 timer.mp4显示的效果如下:如果我们想要比52像素高的更大的数字,我们可以用一个size参数指定更大的testsrc输出(例如:i testsrc=size=vga),然后相应地调整作物区域。上面的那个完整的指令如下:(我自己试了一下,视频有了,没有文字。。。)ffmpeg -f lavfi -i testsrc=size=vga -vf crop=125:52:160:94 -t 50 timer.mp4为了改变数字和背景的颜色,我们可以使用一个lut过滤器,这是在颜色修正的章节中描述的。创建的计时器将用于视频覆盖的示例。

(0)

相关推荐

  • 视频高清低损压缩命令行实现方案推荐

    通常我们的MAC录制视频后文件都非常大,15min的视频可以达到2G大小,哪怕是三五分钟视频也有好几遍M !!! 所以需要转换,压缩,但是不能降低太多的分辨率. 这里我的御用视频编辑师推荐了一款非常轻 ...

  • 《FFmpeg Basics》中文版-04-调整和伸缩视频

    写在前面如果您对音视频技术感兴趣,可以订阅我的专题:音视频专辑也可以关注我的简书账户:张芳涛,我后期会发布更多的音视频以及图像处理方面的文章.正文在FFmpeg中调整视频的大小意味着可以通过一个选项改 ...

  • 《FFmpeg Basics》中文版-07-翻转和旋转视频

    写在前面如果您对音视频技术感兴趣,可以订阅我的专题:音视频专辑也可以关注我的简书账户:张芳涛,我后期会发布更多的音视频以及图像处理方面的文章.正文视频帧的翻转和旋转是常见的视觉操作,可以用来创建各种有 ...

  • 《FFmpeg Basics》中文版-06-填充视频

    写在前面如果您对音视频技术感兴趣,可以订阅我的专题:音视频专辑也可以关注我的简书账户:张芳涛,我后期会发布更多的音视频以及图像处理方面的文章.正文填充视频意味着向视频帧添加额外的区域以包含额外的内容. ...

  • 《FFmpeg Basics》中文版-10-为视频添加文字

    写在前面如果您对音视频技术感兴趣,可以订阅我的专题:音视频专辑也可以关注我的简书账户:张芳涛,我后期会发布更多的音视频以及图像处理方面的文章.正文视频中包含的文本数据可以显着提高其信息质量.在视频中添 ...

  • 《FFmpeg Basics》中文版-18-隔行视频

    写在前面如果您对音视频技术感兴趣,可以订阅我的专题:音视频专辑也可以关注我的简书账户:张芳涛,我后期会发布更多的音视频以及图像处理方面的文章.正文隔行扫描是在单色模拟电视开发过程中发明的技术,可以消除 ...

  • 《FFmpeg Basics》中文版-24-网页视频

    写在前面 如果您对音视频技术感兴趣,可以订阅我的专题:音视频专辑 也可以关注我的简书账户:张芳涛,我后期会发布更多的音视频以及图像处理方面的文章. 正文 由于其无所不在,互联网是用ffmpeg创建或编 ...

  • 《FFmpeg Basics》中文版-22- 颜色修正

    写在前面如果您对音视频技术感兴趣,可以订阅我的专题:音视频专辑也可以关注我的简书账户:张芳涛,我后期会发布更多的音视频以及图像处理方面的文章.正文色彩校正通常表示图像版本,如调整亮度,色彩平衡(红色, ...

  • 《FFmpeg Basics》中文版-01-FFmpeg基本介绍

    写在前面如果您对音视频技术感兴趣,可以订阅我的专题:音视频专辑也可以关注我的简书账户:张芳涛,我后期会发布更多的音视频以及图像处理方面的文章.正文为了最优地使用各种FFmpeg组件,需要正确理解FFm ...

  • 《FFmpeg Basics》中文版-02-显示帮助和功能

    写在前面 如果您对音视频技术感兴趣,可以订阅我的专题:音视频专辑 也可以关注我的简书账户:张芳涛,我后期会发布更多的音视频以及图像处理方面的文章. 正文 关于FFmpeg程序的帮助和其他信息都显示在空 ...