objective-c - 识别iOS相机胶卷中视频的技巧

标签 objective-c ios core-graphics assetslibrary

我正在尝试解决一个特定问题(但这可能会使其他人受益),谷歌搜索似乎没有确定的解决方案。我认为可能有几种部分解决方案,我想找到大多数情况下最好的解决方案(或组合)。

我的具体示例是:我的应用程序中的用户可以互相发送视频,我将允许他们将收到的视频保存到他们的相机胶卷中。我想阻止他们将视频转发给其他人。我不需要识别特定视频,只需确定它最初是从我的应用程序中保存的。

我通过保存一些 EXIF 元数据实现了一个非常好的图像解决方案,我可以使用这些元数据来识别图像是从我的应用程序中保存的,并拒绝任何转发它的尝试,但同样的解决方案不适用于视频.

我愿意接受任何想法。到目前为止,我已经看到建议:

  1. 以某种方式使用 ALAssetRepresentation 保存文件名,然后在读入时比较它,但我读到升级 iOS 会清除这些名称

  2. x-保存元数据。不可能。

  3. MD5。我怀疑 iOS 会在保存时以某种方式修改视频,这会使它无效。

  4. 我想过在视频开头附加一两帧,也许是纯色 block 图像,例如洋红色。然后在读入时,获取第一帧,做一些处理来识别它。这可行吗?

您对此有何看法,和/或您能提出更好的建议吗?

谢谢!

史蒂文

最佳答案

您可以尝试两种方法。这两种解决方案都只能在 iOS5 下工作。

1) 保存[ALAssetRepresentation url]返回的url。在 iOS 5 下,此 URL 包含一个 CoreData objectID 并且应该是持久的。

2) 使用 ALAsset 的 customMetadata 属性将自定义信息附加到您自己保存的任何 Assets 。

干杯,

亨德里克

关于objective-c - 识别iOS相机胶卷中视频的技巧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7503564/

相关文章:

ios - 更新设备方向上的 widthAnchor

ios - 将图像添加到 CAShapeLayer

objective-c - 创建 CGContextRef 时如何正确清理内存?

ios - 可定制的曲线图,可以显示不同点的图像

ios/objective-c/核心数据 : How to show relationship as property in NSManagedObjects

objective-c - NSString 适用于一种方法,但不适用于另一种方法

ios - 使用旧版 Swift 语言版本”(SWIFT_VERSION)不起作用

objective-c - NSString 复制内存泄漏

objective-c - objective-c 中的 stringByAppendingString 问题

ios - 如何在 Swift 的泛型中声明基类?