将分屏输入视频转换为循环播放每个屏幕 1 秒的单一视频?

将分屏输入视频转换为循环播放每个屏幕 1 秒的单一视频?

给定一个像这样的 3840x2160 的输入分屏视频,时长为 29 分 2 秒 在此处输入图片描述

我如何将其转换为下面的输出格式?

  • 基本上我想让每个玩家展示 1 秒,然后跳转到下一个玩家并循环播放整个视频
  • 持续时间可以是 1 秒,也可以是 2 秒,任意值

在此处输入图片描述

答案1

在这种特定情况下,您可以使用带有表达式的裁剪过滤器来移动裁剪区域。

基本语法是

ffmpeg -i in -vf "crop=w=iw/2:h=ih/2:x='gte(mod(t\,2)\,1)*iw/2':y='gte(mod(t\,4)\,2)*ih/2'" -c:a copy out

这将使裁剪窗口从左上角 --> 右上角 --> 左下角 --> 右下角移动

相关内容