我有16台GoPro相机同时拍摄,我正在编写一个Python应用程序,将SD卡上的视频文件复制并排序到如下文件夹结构中:
项目
----取1
--------cam1-file1.mp4
--------cam2-file1.mp4
----服用2
--------cam1-file2.mp4
--------cam2-file2.mp4
使用遥控器几乎同时启动凸轮。因此,如果视频的持续时间在彼此的1秒之内,则表示“拍摄”。你知道吗
我已经得到了所有的元数据,比如duration
以毫秒为单位,file_name
和camera_number
作为变量,但就我的一生而言,我不知道如何达到将这些文件存储在正确文件夹中的最终目标。你知道吗
我得到了以下脚本:
for x in range(0, len(meta_array)):
camera_number = meta_array[x][0] # String between "01" and "16"
file_name = meta_array[x][1] # Filename
duration = meta_array[x][2] # Video length in milliseconds
takes.append([cam,[file_name,duration_ms]])
print(takes)
输出:
[['01', ['H01-C01-NA-GOPR0150', '78840']], ['01', ['H01-C01-NA-GOPR0151', '37940']], ['02', ['H01-C02-NA-GOPR0238', '78840']], ['02', ['H01-C02-NA-GOPR0239', '37940']]]
但我想我需要更像这样的东西:
[['01', ['H01-C01-NA-GOPR0150', '78840'], ['H01-C01-NA-GOPR0151', '37940']], ['02', ['H01-C02-NA-GOPR0238', '78840'], ['H01-C02-NA-GOPR0239', '37940']]]
然后循环整个过程并说“如果cam1,file1的持续时间在cam2,file1的持续时间的1秒之内,将它们放在take1文件夹中”
我将非常感谢任何帮助,因为我有点迷失在循环和数据类型。你知道吗
我想你用
dict
会比用list
作为takes
更快乐:鉴于此,您可以继续:
它对文件的位置和去向进行了假设,不会让您知道由于太多差异而失败的获取,等等。但它应该适合你的确切要求。你知道吗
已编辑:改进逻辑以确保检查正确的尝试次数。你知道吗
相关问题 更多 >
编程相关推荐