在iOS中捕获视频时,将数据存储在视频帧中
如何在捕获视频时以每秒视频帧的形式存储时间或纬度等数据,并从iOS中保存的视频中检索这些数据?大多数视频格式都包含视频元数据,在资产级别描述整个视频。使用AVAssetWriter时,可以在写入之前添加元数据项,以将其与输出文件关联 如果您愿意,可以使用公共密钥()来存储信息 注意,这仅在文件级别,而不是每帧 如果您希望以“每秒帧数”类型的时间引用来存储信息,那么您可以构建一个自定义解决方案,与“vended”缓冲区交互通过AVFoundation,您可以为同步到视频文件的信息编写自己的自定义存储,您需要将其读回并自行处理 我不相信有办法将“每帧位置信息”封装在实际的视频文件本身中(你也许可以进行黑客攻击,重新利用字幕AVAssetTrack并写入信息,然后将其拔出,但不显示它-但是,当视频在其他设备上播放时,这将是不可预测的) 其他信息 在我写这篇文章一年后的评论之后,我做了更多的调查。虽然您可能会像建议的那样使用和滥用字幕曲目,但更好的解决方案是使用AVAsset元数据类型,这是专门针对这一点的 有许多不同的AVAssetTrack类型,允许您将数据计时到视频上的某个点,包括在iOS中捕获视频时,将数据存储在视频帧中,ios,objective-c,avfoundation,Ios,Objective C,Avfoundation,如何在捕获视频时以每秒视频帧的形式存储时间或纬度等数据,并从iOS中保存的视频中检索这些数据?大多数视频格式都包含视频元数据,在资产级别描述整个视频。使用AVAssetWriter时,可以在写入之前添加元数据项,以将其与输出文件关联 如果您愿意,可以使用公共密钥()来存储信息 注意,这仅在文件级别,而不是每帧 如果您希望以“每秒帧数”类型的时间引用来存储信息,那么您可以构建一个自定义解决方案,与“vended”缓冲区交互通过AVFoundation,您可以为同步到视频文件的信息编写自己的自定义存
- 音频
- 闭式卡普顿
- 深度数据(编辑时的测试版)
- 元数据谢谢你的想法与字幕!你认为在将“自定义元数据”作为副标题(比如,.vtt)中的注释时有什么缺陷吗?这是我头脑中的一个“疯狂想法”。我现在快速浏览了一下,有一个更好的方法可以做到这一点,包括一个特定的定时元数据类型-您最好使用它。你可以使用字幕来做这件事,但缺点是播放真正显示字幕的视频会看到垃圾。我将编辑我的答案。