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

FFmpeg实现直播中定时循环切换Logo叠加层的方法

实现直播流中每20秒自动切换Logo的FFmpeg方案

我来帮你调整FFmpeg命令,实现每20秒自动循环切换Logo的效果~先看你当前的命令已经有了定时显示Logo的基础,咱们只需要修改时间判断逻辑就能达成需求。

调整后的完整命令

ffmpeg -re -i "https://d2zihajmogu5jn.cloudfront.net/bipbop-advanced/bipbop_16x9_variant.m3u8" -i ./public/images/ACE.png -i ./public/images/logo2.jpg -i ./public/images/crunchy.png -i ./public/images/red.jpg -filter_complex \
"[0]scale=1290:720,setsar=1[ovrl0]; \
[1]scale=40:40[ovrl1]; \
[2]scale=40:40[ovrl2]; \
[3]scale=40:40[ovrl3]; \
[4]scale=40:40[ovrl4]; \
[ovrl0][ovrl1] overlay=x=(main_w-overlay_w)/1.025:y=(main_h-overlay_h)/18:enable='lt(mod(t,80),20)'[v1]; \
[v1][ovrl2] overlay=x=(main_w-overlay_w)/1.025:y=(main_h-overlay_h)/18:enable='between(mod(t,80),20,40)'[v2]; \
[v2][ovrl3] overlay=x=(main_w-overlay_w)/1.025:y=(main_h-overlay_h)/18:enable='between(mod(t,80),40,60)'[v3]; \
[v3][ovrl4] overlay=x=(main_w-overlay_w)/1.025:y=(main_h-overlay_h)/18:enable='gt(mod(t,80),60)'" -acodec aac -vcodec libx264 -f flv "rtmp://a.rtmp.youtube.com/live2/2222-2222-2222-2222"

关键逻辑说明

  • 循环周期设置:你准备了4个Logo,要每20秒切换一次,所以把总循环周期设为80秒(4×20)。通过mod(t,80)计算当前时间在80秒周期内的位置,给每个Logo分配专属的20秒显示窗口:
    • 第一个Logo(ACE.png):lt(mod(t,80),20) —— 周期前20秒显示
    • 第二个Logo(logo2.jpg):between(mod(t,80),20,40) —— 第20-40秒显示
    • 第三个Logo(crunchy.png):between(mod(t,80),40,60) —— 第40-60秒显示
    • 第四个Logo(red.jpg):gt(mod(t,80),60) —— 第60-80秒显示,之后自动循环回第一个
  • 位置一致性:所有overlay的x/y参数和你原命令保持一致,确保切换时Logo位置不偏移,视觉上更连贯。

简化版:仅两个Logo交替切换

如果你只需要两个Logo每20秒交替显示,可简化命令,把周期改成40秒:

ffmpeg -re -i "https://d2zihajmogu5jn.cloudfront.net/bipbop-advanced/bipbop_16x9_variant.m3u8" -i ./public/images/ACE.png -i ./public/images/logo2.jpg -filter_complex \
"[0]scale=1290:720,setsar=1[ovrl0]; \
[1]scale=40:40[ovrl1]; \
[2]scale=40:40[ovrl2]; \
[ovrl0][ovrl1] overlay=x=(main_w-overlay_w)/1.025:y=(main_h-overlay_h)/18:enable='lt(mod(t,40),20)'[v1]; \
[v1][ovrl2] overlay=x=(main_w-overlay_w)/1.025:y=(main_h-overlay_h)/18:enable='gt(mod(t,40),20)'" -acodec aac -vcodec libx264 -f flv "rtmp://a.rtmp.youtube.com/live2/2222-2222-2222-2222"

测试时可以把20秒改成5秒,快速验证切换逻辑是否正常哦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:48:47