Giter Club home page Giter Club logo

livephoto's Introduction

LivePhotoIcon

LivePhoto.swift

A single-file helper library to work with Apple Live Photos

A Live Photo is a paired camera photo ("key photo") and video recording ("paired video"). Learn more about Live Photos from our in-depth blog post.

Live Photo format

A Live Photo consists of two resources paired using an asset identifier (a UUID string):

  1. JPEG image with special metadata for kCGImagePropertyMakerAppleDictionary with [17 : assetIdentifier]
  2. Quicktime MOV with
    1. Quicktime metadata for ["com.apple.quicktime.content.identifier" : assetIdentifier]
    2. Timed metadata track with ["com.apple.quicktime.still-image-time" : 0xFF]. This lets the system know where the still image sits in the movie timeline.

LivePhoto.swift

The entire library is contained in the LivePhoto.swift file:

Extracting Resources from PHLivePhoto

LivePhoto.extractResources(from: livePhoto, completion: resources -> Void) {
  let pairedImageURL = resources.pairedImageURL
  let pairedVideoURL = resources.pairedVideoURL
}

Generating a Live Photo & Saving it to the Photo Library

LivePhoto.generate(from: photoURL, videoURL: videoURL, progress: { percent in }, completion: { livePhoto, resources in
  // Display the Live Photo in a PHLivePhotoView
  livePhotoView.livePhoto = livePhoto
  // Or save the resources to the Photo library
  LivePhoto.saveToLibrary(resources)
  })

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.