1、overlay 技术简介
overlay 技术又称视频叠加技术。overlay 视频技术使用非常广泛,常见的例子有,电视屏幕右上角显示的电视台台标,以及画中画功能。画中画是指在一个大的视频播放窗口中还存在一个小播放窗口,两个窗口不同的视频内容同时播放。
overlay 技术中涉及两个窗口,通常把较大的窗口称作背景窗口,较小的窗口称作前景窗口,背景窗口或前景窗口里都可以播放视频或显示图片。FFmpeg 中使用 overlay 滤镜可实现视频叠加技术。
overlay 滤镜说明如下:
描述:前景窗口(第二输入)覆盖在背景窗口(第一输入)的指定位置。
语法:overlay[=x:y[[:rgb={0, 1}]]
参数 x 和 y 是可选的,默认为 0。
参数 rgb 参数也是可选的,其值为 0 或 1,默认为 0。
参数说明:
x 从左上角的水平坐标,默认值为 0
y 从左上角的垂直坐标,默认值为 0
rgb 值为 0 表示输入颜色空间不改变,默认为 0;值为 1 表示将输入的颜色空间设置为 RGB
变量说明:如下变量可用在 x 和 y 的表达式中
main_w 或 W 主输入(背景窗口)宽度
main_h 或 H 主输入(背景窗口)高度
overlay_w 或 w overlay 输入(前景窗口)宽度
overlay_h 或 h overlay 输入(前景窗口)高度
overlay 滤镜相关参数示意图如下:
2、 命令行用法
可先参考 "FFmpeg 使用基础" 了解 FFmpeg 命令行基本用法。
overlay 命令行基本格式如下:
ffmpeg -i input1 -i input2 -filter_complex overlay=x:y output
input1 是背景窗口输入源,input2 是前景窗口输入源。
2.1 视频中叠加图标
背景窗口视频素材下载(右键另存为):ring.mp4
视频分辨率是 768x432(此分辨率适用于平板电脑,宽高比为 16:9),上下黑边的像素高度是 56,播放时长为 37.97