【问题标题】:How to get the time stamp of each frame of a GoPro video in MATLAB?如何在MATLAB中获取GoPro视频每一帧的时间戳?
【发布时间】:2015-06-09 09:07:37
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 你有帧率和帧数,你还需要什么来生成时间序列?
  • 文件中的某处可能会隐藏一个创建时间戳,具体取决于相机,但如果确实存在这种元数据的存储方式,则没有标准。
  • @excaza 我需要视频拍摄的确切时间和日期,包括第二个。这就像比较两个字符串,一个是帧的时间戳(“06/10/2015 08:13:57”)与来自另一系列数据的时间戳,以找到匹配项。
  • 我了解@nkjt,但您将如何在 MATLAB 中访问该数据?
  • 由于没有标准,你必须弄清楚数据被埋在哪里(如果有的话)。您提到 avi、mov、mpeg ......一切都会有所不同,没有任何东西可以开箱即用。有关示例和一些(非 MATLAB)代码,请参阅:eden-foundation.org/products/code/film_date_stamp

标签: matlab video timestamp frame gopro


【解决方案1】:

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

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

我使用的字段是:“EXIF DateTimeOriginal”,尽管还有一些其他 EXIF 日期/时间字段

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

【讨论】:

    猜你喜欢
    • 2018-05-24
    • 2018-07-07
    • 2019-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-12
    • 1970-01-01
    • 2019-02-09
    相关资源
    最近更新 更多