繁体   English   中英

通过 ffmepg 或 C++ 库从 .mov 文件中解码时间元数据

[英]Dcode time-metadata from .mov files by ffmepg or C++ libraries

我通过使用“AVTimedMetadataGroup”将每帧的元数据(原始数据)保存到轨道中,从 swift 记录 .mov 文件。

这是我如何快速保存的示例

        var newItem = AVMutableMetadataItem()
        newItem.identifier = AVMetadataIdentifier.quickTimeUserDataTrack
        newItem.dataType = kCMMetadataBaseDataType_RawData as String
        var newGroup = AVTimedMetadataGroup(items: [newItem], timeRange: timeRange)
        m_depth_writer_input_adap!.append(newGroup)

我还将轨道数据复制到 .bin 文件中,但是有什么方法可以从 linux 或 windows 端而不是从 swift 获取轨道数据。

以下是根据ffmpeg的日志。

ffmpeg -i .\input_file.mov
      Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '.\input_file.mov':
      Metadata:
        major_brand     : qt
        minor_version   : 0
        compatible_brands: qt
        creation_time   : 2021-07-06T07:24:12.000000Z
      Duration: 00:00:05.23, start: 0.000000, bitrate: 77273 kb/s
        Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, smpte170m/bt709/bt709), 1920x1440, 19524 kb/s, 29.81 fps, 30 tbr, 600 tbn, 1200 tbc (default)
        Metadata:
          rotate          : 90
          creation_time   : 2021-07-06T07:24:13.000000Z
          handler_name    : Core Media Video
          encoder         : H.264
        Side data:
          displaymatrix: rotation of -90.00 degrees
        Stream #0:1(und): Data: none (mebx / 0x7862656D), 57743 kb/s (default)
        Metadata:
          creation_time   : 2021-07-06T07:24:13.000000Z
          handler_name    : Core Media Metadata

(即使可以通过使用另一种支持保存的文件类型(例如:mp4,mov)进行录制来解决。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM