1

我正在尝试解决一个特定的问题(但这可能会使其他人受益),通过谷歌搜索似乎没有明确的解决方案。我认为那里可能有几个部分解决方案,我想找到那些大部分时间都可以解决问题的最佳解决方案(或组合)。

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

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

我对任何想法持开放态度。到目前为止,我已经看到建议:

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

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

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

  4. 我曾想过在视频的开头添加一两帧,也许是一个纯色块的图像,例如洋红色。然后在读入时,获取第一帧,做一些处理来识别它。这是实际的,甚至可能的吗?

你对这些有什么看法,和/或你能提出更好的建议吗?

谢谢!

史蒂文

4

1 回答 1

0

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

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

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

干杯,

亨德里克

于 2012-03-24T18:21:12.763 回答