我有一个MS Windows手机,以.mp4
格式录制体面的视频。在画廊(电影卷)中查看所有图片和视频按照拍摄顺序排列。
在python中,我已经成功找到了照片的“约会日期”(使用exifread
模块),但是视频运气不佳。
有人知道如何通过python获取此信息吗?
我录制了3秒样本[日期:2014/01/31](download it here),以防有人想查看文件格式。
答案 0 :(得分:2)
感谢您的样品。我看着它,发现不幸的是,它写的没有时间戳数据。
在moov
原子中,有一个mvhd
原子。这具有创建和修改时间戳。这些都是0,这就是为什么my tool from the other question报告1904年1月1日(QuickTime纪元的开始)的原因。深入研究moov
原子,有2个trak
个原子(1个用于视频,1个用于音频)。这两个都有tkhd
个原子,它们还包含创建和修改时间戳......正如您可能已经猜到的那样,这个样本也是0。
您可以使用这些类型的文件找到一些不同的元数据格式。遗憾的是,我在短moov
原子中看不到这些或任何其他自定义元数据的任何迹象。
您表示手机可以按照创建顺序显示媒体。它必须使用未存储在此文件中的时间戳数据(例如,使用存储在手机文件系统中的时间戳)。您可能需要弄清楚如何访问该数据以获得真正的创建时间戳,因为该软件选择不将它们写入文件本身。
答案 1 :(得分:0)
它不是原生Python,但您可以通过系统调用调用Atomic Parsley,然后解析结果。或者,有很好的python库可以读取其他多媒体格式的元数据,比如hachoir。 hachoir支持的格式列表中明显缺少Mpeg-4,但可能会调整其功能以适用于MOV等mp4派生格式。