一个逻辑问题,求知道的告知下,情况是这样的。某文件夹下有 N 段视频,这里随便举个例子,比如 10 段
分别为视频 1.mp4 2.mp4 3.mp4 以此类推到 10.mp4.
视频时长不等。
想做到
需求 1
自动检测这 N 段视频,并按照时长 8 秒分割这些视频,最后剩余的如果小于于 6 秒则删除,分割后建立对应视频名称的文件夹并写入。
需求 2
抽取这些文件夹里面的 8 秒片段视频,每个文件夹仅抽取一段,10 个文件夹的话就是 10 段,合成一个视频,并记录合成视频采用片段的前后排序关系。完成后继续合成,并读取该文件,确保再次合成的视频顺序不和前面生成的视频有相同之处。这样的话其实应该有很多种可能
写的有点乱,大概通俗的说,我要生成的视频每小段均取自分别的 8 秒视频片段,但是排序不同有很多可能。不知道怎么表达?我凌乱了。
或者给我几个关键词。我研究研究。
1
imicksoft 2022-07-13 17:51:12 +08:00
视频处理有一个 ffmpeg ,可以编程调用
|
2
zjvbqla OP @imicksoft 是的,这个我知道,我主要是想不明白这种排序有多可能,不知道怎么表达, 比如只有 3 段的话 就有 123 ,132 ,321
213 (这个就不行)因为 213 中的 13 和 132 这个的 13 排序重复 231 同理,231 的 23 和 123 的 23 排序重复 但是 10 段不知道会不会有很多变化,脑子不好用了。 |
3
misdake 2022-07-13 18:20:23 +08:00
是不是只要出现过 AB ,其他排列里都不能出现 AB 。2 段都不允许重复的话,更长的其实也不用考虑了。
问题就变成了给定 1 到 n 共 n 个数,这些数有哪些排列,使得所有排列中其中任意前后连续 2 个数字不重复出现。 2 个数字的组合共有 n*(n-1)种,每一个排列会消耗 n-1 种,所以最多能得到 n 个排列满足条件。接下来的问题就是是否一定能得到 n 个排列,和怎么得到这些排列。 我再想想 |
4
LLaMA2 2022-07-13 18:21:17 +08:00
说, 你是不是想免费使用别人的视频平台,先乱序组合上传,然后再解码复原,如果是这样大可不必这样,
如果不知道排列最和,最简单的是每个文件加里面的内容看成一个数组,然后就有 N 个数组,每个数组中有多个 8 秒视频,分别是 1 2 3 4 .. ,然后每一轮遍历数组随机取出数组中的一个元素并移除,组合放到别的地方,如此重复。 老实人,说出你真实的目的,网友的骚套路太多了 |
5
neteroster 2022-07-13 18:21:47 +08:00
@zjvbqla 那 132 和 321 这个 32 不重复吗?
|
6
zjvbqla OP @neteroster 哦,对,刚刚举例疏忽了。是这意思。
@misdake 是的,没错,就是连续 2 段不能重复。谢谢。我也想想 @ye4tar 你说的方法可以做到不重复,但是生成数量应该会远远小于实际按照这个条件可以生成的数量 |
7
imicksoft 2022-07-15 15:32:23 +08:00
“123 ,132 ,321”中 132 和 321 中的“32”是不是重了
|