ffmpeg使用overlay在背景上显示视频

2023-05-16

题主的目标是实现以某个点为分界,左下和右上显示两个画面,如下图所示:

第一个思路是:

[in1]scale=1440:810[in_1];
[in2]scale=480:270[in_2];
color=s=1920x1080:c=black[base],
[base][in_1]overlay=0:270[out_1],
[out_1][in_2]overlay=1440:0[out]

使用color或nullsrc做底,使用两次overlay将sacle好的两个输入叠加在目标位置,如下图所示:

但在测试过程中发现以下两个问题:

1、以color或nullsrc做背景,只产生一帧,后续filter没有产出,且清晰度较低。

2、以图片作为背景在上叠加视频,清晰度较低。


这两个问题并没有找到原因和解决办法,所以题主转换了思路,使用pad的filter实现第二个思路:

[in1]scale=1440:810[in_1],
[in_1]pad=1920:1080:0:270:black[base];
[in2]scale=480:270[in_2];
[base][in_2]overlay=1440:0[out]

将第一个输入缩小后,使用pad补全,并调整好位置,然后再将第二个输入以overlay的方式覆盖上去,如下图所示:

 这个思路成功,没有出现清晰度降低的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ffmpeg使用overlay在背景上显示视频 的相关文章

随机推荐