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

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

第一个思路是:

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

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

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值