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

第一个思路是:

[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的方式覆盖上去,如下图所示:

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

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐