姑且叫视频拼接问题。假设有n个视频片段,利用软件每次将k个视频片段拼接成一个视频,同时要求有m个时间轴并行,也就是同一屏幕同一时间有m个视频片段播放(空间并行度 = m,时间并行度≈k/m),拼接出来的理论上就会有[n/k]个视频,假设每个视频长度为L,由k个视频片段组成(不同视频的L和k可以不同)。
但是问题是n个视频片段长度不一样,会导致每次的一组k个视频片段播放到最后就有一些会播放结束而黑屏。
这样就不得不裁剪掉多余的部分,使视频长度跟最短的片段长度一致。
裁剪会造成素材的浪费(浪费 = 没有使用的视频片段的总时长),为了减少浪费,k应该尽可能地大,也就是说每个视频应该由尽可能多的视频片段组成。
但是过长的视频片段又会限制最后视频播放的多样性,每次都是从头开始,重复播放会令人厌倦。因此限制每个视频长度不超过max。视频也不能过短,过短会导致切换的开销很高,因此每个视频长度不少于min。即min < L < max
那么问题是,如何选择每组的k个视频片段,才能使浪费的素材最少?