这个系列文章我们来介绍一位海外工程师如何探索 FFmpeg Basics 音视频技术,对于想要开始学习音视频技术的朋友,这些文章是份不错的入门资料,这是第 6 篇:FFmpeg 填充视频。
—— 来自公众号“关键帧Keyframe”的分享
填充视频是指向视频帧添加额外区域以包含额外内容。当输入需要在具有不同宽高比的显示器上播放时,通常需要填充视频。
1、填充视频基础知识
对于视频填充,我们使用下表中描述的填充滤镜。
描述 | 在输入视频帧中添加彩色填充,该帧位于坐标系统中的 [x, y] 点,输出帧的左上角为 [0,0]。输出大小由宽度和高度参数设置。 |
---|---|
语法 | pad=width[:height[:x[:y[:color]]]] 括号内的参数均为可选 |
color | 十六进制形式的 RGB 颜色值:0xRRGGBB[@AA],其中 AA 是 (0,1) 中的十进制值或任何有效的颜色名称,如白色、蓝色、黄色等。默认值为黑色。更多详情,请参阅 FFmpeg 基本介绍章节中的颜色部分。 |
width, height | 带填充的输出帧的宽度和高度。宽度的值可以从高度导出,反之亦然。两个参数的默认值均为 0。 |
x, y | 输入左上角的坐标(偏移量)与输出帧的左上角有关。两个参数的默认值均为 0。 |
a | 纵横比,与 iw/ih 相同 |
dar | 输入显示宽高比,与 *sar 相同 |
hsub, vsub | 水平和垂直的色度子样本值。对于像素格式 yuv422p,hsub 为 2,vsub 为 1。 |
in_h, ih | 输入高度 |
in_w, iw | 输入宽度 |
n | 输入帧数,从 0 开始 |
out_h, oh | 输出高度,默认值 = 高度 |
out_w, ow | 输出宽度,默认值 = 宽度 |
pos | 输入帧文件中的位置,未知则为 NAN |
sar | 输入样本纵横比 |
t | 以秒为单位的时间戳,输入时间戳未知则无 |
x, y | x 和 y 的偏移量,未指定则为 NAN |

例如,为了在一个 svga 大小的照片周围创建一个 30 像素宽的粉红色框架,我们可以使用以下命令:
ffmpeg -i photo.jpg -vf pad=860:660:30:30:pink framed_photo.jpg

2、从 4:3 到 16:9 的填充视频
有些设备只能以 16:9 的宽高比播放视频。4:3 宽高比的视频需要在水平方向上进行填充以匹配两种尺寸。这种情况下,高度保持不变,宽度等于高度值乘以 16/9。x 值(输入视频帧的水平偏移量)从表达式 (output_width – input_width)/2 开始计算。因此,填充的语法为:
ffmpeg -i input -vf pad=ih*16/9:ih:(ow-iw)/2:0:color output
例如,如果不知道电影的确切分辨率,且 MPG 文件的宽高比为 4:3,我们可以在默认的黑色中添加所谓的“pillarbox”(柱状框)命令:
ffmpeg -i film.mpg -vf pad=ih*16/9:ih:(ow-iw)/2:0 film_wide.avi

3、从 16:9 到 4:3 的填充视频
为了在 16:9 的显示器上显示为 4:3 宽高比创建的视频,我们需要在输入的上下两边垂直填充。因此,宽度保持不变,高度为宽度 * 3/4。y 值(输入视频帧的垂直偏移量)从表达式 (output_height – input_height)/2 中计算得出。填充的语法为:
ffmpeg -i input -vf pad=iw:iw*3/4:0:(oh-ih)/2:color output
例如,如果不知道输入文件的确切分辨率,我们可以在 HD 视频中添加默认为黑色的“letterbox”(字母盒)。对于具有 16:9 宽高比的 AVI 文件,命令如下:
ffmpeg -i hd_video.avi -vf pad=iw:iw*3/4:0:(oh-ih)/2 video.avi

4、填充至不同的宽高比
4:3 和 16:9 是最常见的宽高比,但还有其他宽高比,例如电视广告的 14:9,以及比 16:9 更宽的电影格式。
5、柱状填充 – 水平添加边框
为了调整较小的宽高比,我们需要增加输出宽度,其值将是高度值乘以一个新的宽高比 (ar)。通用公式是:
ffmpeg -i input -vf pad=ih*ar:ih:(ow-iw)/2:0:color output
6、字母盒填充 – 垂直添加边框
为了调整较大的宽高比,我们需要增加输出高度,其值将是宽度值除以新的宽高比 (ar)。通用公式是:
ffmpeg -i input -vf pad=iw:iw*ar:0:(oh-ih)/2:color output
音视频方向学习、求职,欢迎加入我们的星球
丰富的音视频知识、面试题、技术方案干货分享,还可以进行面试辅导

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。