假设所有 3 个剪辑具有相同的属性,基本语法是
ffplay -f lavfi -i movie=filename="/dev/video0":f=v4l2,setpts=PTS-STARTPTS[v1];movie=filename="/dev/video1":f=v4l2,setpts=PTS-STARTPTS[v2];movie=filename="/dev/video2":f=v4l2,setpts=PTS-STARTPTS[v3];[v2][v3]overlay=enable='between(mod(t,15),10,15)'[v23];[v1][v23]overlay=enable='between(mod(t,15),5,15)'
这将显示 5 秒的 video0,然后是 5s 的 video1,然后是 5s 的 video2。
由 OP 编辑:使用这个建议,我能够让 4 台相机工作。
ffplay -f lavfi "movie=/dev/video0:f=video4linux2, setpts=PTS-STARTPTS [zero];movie=/dev/video1:f=video4linux2, setpts=PTS-STARTPTS [one];movie=/dev/video2:f=video4linux2, setpts=PTS-STARTPTS [two];movie=/dev/video3:f=video4linux2, setpts=PTS-STARTPTS [three];[one][zero]overlay=enable='between(mod(t,20),5,10)'[conn1];[conn1][two]overlay=enable='between(mod(t,20),10,15)'[conn2];[conn2][three]overlay=enable='between(mod(t,20),15,20)'[out]"
它定义了 4 个摄像头输入,然后执行 3 个视频片段。第一个视频片段采用凸轮 0 和 1,并将 1 覆盖在 0 之上(但仅持续 5-10 秒)。第二段覆盖凸轮 0+1 流上的凸轮 2(但仅在 10-15 秒内)。第三段将凸轮 3 覆盖在凸轮 0+1+2 的组合流上(但仅持续 15-20 秒)。每个流仅在循环中的“回合”期间显示(同样,0-5、5-10、10-15、15-20 的倍数),由 Gyan 建议的覆盖命令和 between+modulus 魔法控制。