如何在 MATLAB 中获取 GoPro 视频每一帧的时间戳?

How to get the time stamp of each frame of a GoPro video in MATLAB?

我正在尝试使用 MATLAB 2015a 对来自 GoPro 的视频进行 post 处理。我需要从视频的每一帧中获取时间戳,以便我可以使用它与另一组也使用时间戳的数据进行比较。所以这两个时间戳必须按秒匹配。

我已经检查了 MATLAB 文档,VideoReader class 有一个名为 "CurrentTime" 的 属性,但这只给我一个帧相对于第一帧的时间帧,它设置为“0”秒,而不是视频拍摄的实际时间和日期。

我还看到有人在不同的论坛上询问如何向 GoPro 视频添加 时间戳,甚至 Python 上还有库可以让您做到那,所以我假设 GoPro 视频的文件信息中没有时间戳。

视频格式不应该有几位记录视频的日期和时间吗,尤其是像 MPEG、AVI 和 MOV 这样的格式?如果是这样,为什么没有办法从 MATLAB 访问它们?

感谢任何可能的帮助。干杯!

您可以从图像中存储的 EXIF 数据中读取此信息。这是我找到的唯一准确获取时间的方法。

http://au.mathworks.com/help/matlab/ref/exifread.html

我使用的字段是:"EXIF DateTimeOriginal" 尽管还有一些其他 EXIF date/time 字段

您还可以使用来自 GoPro 的 HTTP 服务器的 Last-modified header 为该图像获取接近时间。