You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FFmpeg视频叠加带延迟:输出时长不符与叠加截断问题求助

解决FFmpeg叠加视频后输出时长不符的问题

正确命令

ffmpeg -i bg.webm -i ol.webm -filter_complex "[1:v]setpts=PTS-STARTPTS+60/TB[delayed_overlay];[0:v][delayed_overlay]overlay=x=10:y=10:enable='between(t,60,180)'[out_video]" -map "[out_video]" -map 0:a? -c:a copy output.webm

命令说明

  • [1:v]setpts=PTS-STARTPTS+60/TB[delayed_overlay]:将叠加视频的时间轴整体偏移60秒(1分钟),让它的起始帧对应主视频的第60秒,匹配需求的播放起点。
  • overlay=x=10:y=10:enable='between(t,60,180)':指定叠加层在主视频的60秒到180秒(3分钟)之间显示,这段时长刚好覆盖2分钟的叠加视频,不会出现截断或提前结束的问题。
  • -map "[out_video]" -map 0:a?:保留主视频的视频流和音频流(如果主视频有音频),确保输出完整的5分钟内容。
  • -c:a copy:直接复制主视频音频,避免不必要的编码,提升处理速度。

你之前命令的问题分析

  1. 第一个命令:

    • 偏移时间参数错误:1/TB是偏移1秒而非1分钟,应改为60/TB。
    • 未映射主视频音频流,且未明确以主视频时长为基准,导致FFmpeg默认以叠加视频时长输出,最终结果和叠加视频时长一致。
  2. 第二个命令:

    • 使用了较老旧的movie滤镜,该滤镜在时间轴处理上不如多输入的filter_complex灵活,易出现流截断问题。
    • between(t, 05, 13)的时间范围仅8秒,远短于叠加视频的2分钟时长,导致叠加视频只播放前8秒就被截断。

内容的提问来源于stack exchange,提问作者user13773537

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 04:30:30