如何在iOS的QuickTime视频中写入XMP元数据?

问题描述

我正在尝试将一些XMP元数据附加到使用AVAssetExportSession导出的QuickTime视频中。

AVFoundation确实支持写入元数据(AVMetadataItem),并且我设法导出了简单的值,这些值随后可以使用exiftool进行检查:

AVMutableMetadataItem *item = [AVMutableMetadataItem metadataItem];
item.identifier = [AVMetadataItem identifierForKey:AVMetadataCommonKeyTitle keySpace:AVMetadataKeySpaceCommon];
item.value = @"My Title";

exportSession.metadata = @[item];

但是我无法配置AVMetadataItem来正确编码XMP。根据{{​​3}},QuickTime视频中的XMP应该位于moov / udta / XMP_原子之下,但我看不到使用AVFoundation制作分层元数据的方法API或与元数据的这一部分相对应的任何键空间。

我还需要向图像写入XMP元数据,并且图像I / O确实对此具有直接支持(CGImageMetadataCreateFromXMPData),但在AVFoundation中找不到任何等效的东西。

如果无法使用AVFoundation(或类似的产品),我可能会考虑集成Adobe XMP spec,但是当AVFoundation 几乎似乎可以满足我的需求时,这似乎是一个笨拙的解决方案。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)