《ffmpeg basics》中文版 -- 6.填充视频

6.填充视频

​ 所谓填充视频,是指往视频帧中加入额外的区域以添加额外的内容。当视频的长宽比和播放器的长宽比不同时,就需要用到填充操作。

​ Aspect ratio : 这个短语的一般翻译是,高宽比,即高度和宽度的比值,但下面使用的 4:3 和 16:9 却是长宽比,也就是说,这个仅表示比例,而没有指定比的方式。

​ 我们约定:Aspect ratio为长宽比为:width:height。下面描述仅使用长宽比。

填充基本

​ 我们使用 pad filter 来完成填充操作,其详细描述如下:

在这里插入图片描述

在这里插入图片描述

​ 例如,想要为大小为SVGA的图片创建一个宽为30像素宽的粉色边框,可以使用下述命令:

ffmpeg -i photo.jpg -vf pad=860:660:30:30:pink framed_photo.jpg

在这里插入图片描述

填充视频:4:3 到 16:9

​ 有些播放设备仅能播放长宽比为 16:9 的视频,如果它去播放一个长宽比为 4:3 的视频,那么它一定会在视频水平方向的两端进行填充。这种情况下,高度保持不变,宽度会变成高度值的 16/9 。此时 x 参数(输入视频帧在水平方向的偏移量)可以根据如下表达式计算:

			x = (output_width - input_width) / 2

​ 因此,此时进行填充的命令为:

ffmpeg -i input -vf pad=ih*16/9:ih:(ow-iw)/2:0:color output

​ 例如,如果我们只知道 film.mpg 的长宽比是 4:3 ,但不知道该图片具体的分辨率,我们可以往该图片中加入名为垂直黑边的区域,命令如下:

ffmpeg -i film.mpg -vf pad=ih*16/9:ih:(ow-iw)/2:0 film_wide.avi

在这里插入图片描述

填充视频:16:9 到 4:3

​ 当我们在 4:3 的播放器上播放 16:9 的视频时,我们应该在视频垂直方向的两端进行填充。因此,宽度保持不变,高度变为宽度的 3/4 。y 参数(输入视频帧在垂直方向上的偏移量)可以按照如下表达式求取:

		y = (output_height - input_height) / 2

​ 因此,此时进行填充的命令为:

ffmpeg -i input -vf pad=iw:iw*3/4:0:(oh-ih)/2:color output

​ 例如,如果我们只知道输入视频的长宽比是 16:9 ,但不知道该视频具体的分辨率,我们可以往该视频中加入名为水平黑边的区域,命令如下:

ffmpeg -i hd_video.avi -vf pad=iw:iw*3/4:0:(oh-ih)/2:color video.avi

在这里插入图片描述

任意长宽比填充

​ 上面描述的 16:9 和 4:3 的长宽比是最常见的,但其他的长宽比也会使用,只不过相对比较少而已。

垂直黑块:添加水平方块

​ 当长宽比从大变小(宽高比从小变大),那么我们需要增加输出文件的宽度,新的宽度为高度值乘以新的长宽比ar(或者除以宽高比),因此其普遍使用的公式为:

ffmpeg -i input -vf pad=ih*ar:ih:(ow-iw)/2:0:color output
水平黑块:添加垂直方块

​ 当长宽比从小变大(宽高比从大变小),那么我们需要增加输出文件的高度,新的高度为宽度除以新的长宽比ar(或者乘以宽高比),因此其普遍使用的公式为:

ffmpeg -i input -vf pad=iW:iw/ar:0:(oh-ih)/2:color output

以宽高比),因此其普遍使用的公式为:

ffmpeg -i input -vf pad=iW:iw/ar:0:(oh-ih)/2:color output
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值