Apple Live Photo文件格式

Cla*_*ges 24 ios photokit ios9 phlivephoto

Apple将在iOS 9/iPhone 6s中推出Live Photo.文件格式在哪里记录?

rus*_*hop 50

实时照片有两种资源.它们与资产标识符(UUID作为字符串)绑定在一起.

  1. 一个JPEG; 这必须有一个元数据条目kCGImagePropertyMakerAppleDictionary[17 : assetIdentifier](17是苹果机注资产识别键).
  2. 使用H.264以适当的帧速率(12-15fps)和大小(1080p)编码的Quicktime MOV.该MOV必须具备:
    • 顶级Quicktime元数据输入["com.apple.quicktime.content.identifier" : assetIdentifier].如果使用AVAsset你可以得到这个asset.metadataForFormat(AVMetadataFormatQuickTimeMetadata)
    • 定时元数据跟踪["com.apple.quicktime.still-image-time" : 0xFF]; 实际静止图像时间与此元数据项的演示文稿时间戳匹配.有效载荷似乎只是一个0xFF字节(也就是-1),可以忽略.如果使用AVAssetReader你可以CMSampleBufferGetOutputPresentationTimeStamp用来得到这个时间.

assetIdentifier两个项目联系在一起的是什么,定时元数据轨道是告诉系统静止图像在电影时间轴中的位置.

  • 可以在此处找到编写此类文件的实现:https://github.com/genadyo/LivePhotoDemo (2认同)
  • 在创建HEIC文件时,iOS 11仍然如此,或者电影部分是否与照片部分包含在同一.heic文件中? (2认同)

Sam*_*1er 18

这是链接.否则,这是文字:

实时照片

实时照片是iOS 9的一项新功能,允许用户使用比传统照片更丰富的环境捕捉和重温他们喜爱的时刻.当用户按下快门按钮时,相机应用程序会捕获更多内容以及常规照片,包括照片前后的音频和其他帧.浏览这些照片时,用户可以与他们互动并播放所有捕获的内容,从而使照片变为现实.

iOS 9.1引入了API,允许应用程序合并实时照片的播放,以及导出数据以进行共享.Photos框架中有新的支持从PHImageManager对象获取PHLivePhoto对象,该对象用于表示构成Live Photo的所有数据.您可以使用PHLivePhotoView对象(在PhotosUI框架中定义)来显示Live Photo的内容.PHLivePhotoView视图负责显示图像,处理所有用户交互以及应用视觉处理来回放内容.

您还可以使用PHAssetResource访问PHLivePhoto对象的数据以进行共享.您可以使用PHImageManager或UIImagePickerController为用户照片库中的资产请求PHLivePhoto对象.如果您有共享扩展,则还可以使用NSItemProvider获取PHLivePhoto对象.在共享的接收端,您可以从发件人最初导出的文件集中重新创建PHLivePhoto对象.

显示实时照片的指南

重要的是要记住,Live Photo仍然是一张照片.如果您必须在不支持PHLivePhotoView的环境中显示实时照片,建议您将其作为常规照片呈现.

不要单独显示Live Photo的额外帧和音频.重要的是,Live Photo的内容应以一致的方式呈现,在所有应用程序中使用相同的视觉处理和交互模型.

建议您通过将PHLivePhotoView类方法livePhotoBadgeImageWithOptions:PHLivePhotoBadgeOptionsOverContent提供的徽章放在照片的左上角,将照片识别为Live Photo.

请注意,不支持提供用户浏览"照片"应用中的照片时所体验的视觉效果.

实时照片共享指南

Live Photo的数据作为一组文件导出到PHAssetResource对象中.将文件集上载到服务器时,必须将这些文件集保留为一个单元.当您在接收器端使用这些文件重建PHLivePhoto时,将验证文件; 如果文件不是来自同一资产,则加载失败.

如果您的应用允许用户在共享照片之前对照片应用效果或调整,请务必对Live Photo的所有帧应用相同的调整.或者,如果您不支持调整动态照片的全部内容,请将其作为常规照片共享并向用户显示适当的指示.

如果您的应用具有用于选择要分享的照片的UI,则应该让用户回放整个内容,以便他们确切地知道他们正在分享的内容.当选择要在应用中共享的照片时,用户还应该可以关闭实时照片,所以他们可以把它作为传统照片发布.


Mob*_*Vet 5

在文档之外,Live Photos 由 2 个资源组成,一个图像和一个 mov(快速电影文件)。因此,每张 Live Photo 都有 2 个“实际”文件,由 Live Photo 类型的包装器连接。