subir poner fotos fecha descargar convertir ios ios9 photokit phlivephoto

ios - poner - Formato de archivo de Apple Live Photo



subir live fotos a instagram (6)

Alguna información adicional sobre fotos en vivo:

  1. De acuerdo, tiene la extensión de archivo .mov
  2. Se guardó en el directorio / var / mobile / media / DCIM / 100apple / junto con la versión jpg de la foto
  3. Las fotos en vivo se pueden reproducir incluso en el dispositivo sin toque 3D (puedo reproducirlas en mi iPad 2017 presionando prolongadamente la foto)
  4. se puede reproducir incluso en teléfonos antiguos (como el iPhone 5) incluso en iOS8 si instala PhotosLive tweak

Apple presentará Live Photo en iOS 9 / iPhone 6s. ¿Dónde está documentado el formato de archivo?


Aquí está el link . De lo contrario, aquí está el texto:

Fotos en vivo

Live Photos es una nueva característica de iOS 9 que permite a los usuarios capturar y revivir sus momentos favoritos con un contexto más rico que las fotos tradicionales. Cuando el usuario presiona el botón del obturador, la aplicación Cámara captura mucho más contenido junto con la foto normal, incluido el audio y los marcos adicionales antes y después de la foto. Al navegar por estas fotos, los usuarios pueden interactuar con ellas y reproducir todo el contenido capturado, haciendo que las fotos cobren vida.

iOS 9.1 introduce API que permiten que las aplicaciones incorporen la reproducción de Live Photos, así como exportar los datos para compartir. Hay un nuevo soporte en el marco de fotos para obtener un objeto PHLivePhoto del objeto PHImageManager, que se utiliza para representar todos los datos que comprenden una foto en vivo. Puede usar un objeto PHLivePhotoView (definido en el marco de PhotosUI) para mostrar el contenido de una foto en vivo. La vista PHLivePhotoView se encarga de mostrar la imagen, manejar toda la interacción del usuario y aplicar los tratamientos visuales para reproducir el contenido.

También puede usar PHAssetResource para acceder a los datos de un objeto PHLivePhoto con el fin de compartirlos. Puede solicitar un objeto PHLivePhoto para un activo en la biblioteca de fotos del usuario utilizando PHImageManager o UIImagePickerController. Si tiene una extensión para compartir, también puede obtener objetos PHLivePhoto utilizando NSItemProvider. En el lado receptor de un recurso compartido, puede volver a crear un objeto PHLivePhoto a partir del conjunto de archivos exportados originalmente por el remitente.

Pautas para mostrar fotos en vivo

Es importante recordar que una foto en vivo sigue siendo una foto. Si tiene que mostrar una foto en vivo en un entorno que no es compatible con PHLivePhotoView, se recomienda que la presente como una foto normal.

No muestre los cuadros extra y el audio de una foto en vivo por separado. Es importante que el contenido de Live Photo se presente de una manera consistente que use el mismo modelo de interacción y tratamiento visual en todas las aplicaciones.

Se recomienda que identifique una foto como una foto en vivo colocando la insignia proporcionada por el método de clase PHLivePhotoView livePhotoBadgeImageWithOptions: PHLivePhotoBadgeOptionsOverContent en la esquina superior izquierda de la foto.

Tenga en cuenta que no hay soporte para proporcionar el efecto visual que los usuarios experimentan cuando pasan las fotos en la aplicación Fotos.

Pautas para compartir fotos en vivo

Los datos de una foto en vivo se exportan como un conjunto de archivos en un objeto PHAssetResource. El conjunto de archivos debe conservarse como una unidad cuando los carga en un servidor. Cuando reconstruye un PHLivePhoto con estos archivos en el lado del receptor, los archivos se validan; La carga falla si los archivos no provienen del mismo activo.

Si su aplicación permite a los usuarios aplicar efectos o ajustes a una foto antes de compartirla, asegúrese de aplicar los mismos ajustes a todos los cuadros de la Foto en vivo. Alternativamente, si no admite el ajuste de todo el contenido de una Foto en vivo, compártala como una foto normal y muestre una indicación apropiada al usuario.

Si su aplicación tiene una interfaz de usuario para elegir fotos para compartir, debe permitir a los usuarios reproducir todo el contenido para que sepan exactamente lo que están compartiendo. Al seleccionar fotos para compartir en su aplicación, los usuarios también deben poder desactivar una Foto en vivo. Para que puedan publicarlo como una foto tradicional.


El identificador de tipo uniforme (UTI) para el formato es kUTTypeLivePhoto / com.apple.live-photo

@available(OSX 10.12, *) public let kUTTypeLivePhoto: CFString /* * * kUTTypeLivePhoto * * Live Photo * * UTI: com.apple.live-photo * * */


Fuera de la documentación, Live Photos se compone de 2 recursos, una imagen y un mov (archivo de película QuickTime). Por lo tanto, cada Live Photo tiene 2 archivos "reales" conectados por el envoltorio del tipo Live Photo.


Live Photos es en realidad dos archivos. Imagen JPEG original y video Full HD.


Una foto en vivo tiene dos recursos. Están vinculados entre sí con un identificador de activo (un UUID como una cadena).

  1. Un JPEG; debe tener una entrada de metadatos para kCGImagePropertyMakerAppleDictionary con [17 : assetIdentifier] (17 es la clave del identificador de activos de Apple Maker Note).
  2. Un MOV de Quicktime codificado con H.264 a la frecuencia de cuadros (12-15 fps) y el tamaño (1080p) apropiados. Este MOV debe tener:
    • Entrada de metadatos de Quicktime de nivel superior para ["com.apple.quicktime.content.identifier" : assetIdentifier] . Si usa AVAsset , puede obtener esto de asset.metadataForFormat(AVMetadataFormatQuickTimeMetadata)
    • Pista de metadatos cronometrada con ["com.apple.quicktime.still-image-time" : 0xFF] ; El tiempo real de la imagen fija coincide con la marca de tiempo de presentación para este elemento de metadatos. La carga útil parece ser un solo byte 0xFF (también conocido como -1) y se puede ignorar. Si usa un AVAssetReader , puede usar CMSampleBufferGetOutputPresentationTimeStamp para obtener este tiempo.

El assetIdentifier es lo que une los dos elementos y la pista de metadatos cronometrada es lo que le dice al sistema dónde se encuentra la imagen fija en la línea de tiempo de la película.