Search code examples
iosswiftiphonevideo-capture

Creating thumbnail from local video in swift


How to create thumbnail in swift from a local video file ?

For example if the video file path is located here :

file:///Users/Dev/Library/Developer/CoreSimulator/Devices/F33222DF-D8F0-448B-A127-C5B03C64D0DC/data/Containers/Data/Application/4BC62DBF-0108-453C-9324-5BC0E356FE24/tmp/trim.059D11E6-F0EF-43DB-9E97-CA4F1F95D6B6.MOV

Thank you.


Solution

  • Translated with some edits from:

    First frame of a video using AVFoundation

        var err: NSError? = nil
        let asset = AVURLAsset(URL: NSURL(fileURLWithPath: "/that/long/path"), options: nil)
        let imgGenerator = AVAssetImageGenerator(asset: asset)
        let cgImage = imgGenerator.copyCGImageAtTime(CMTimeMake(0, 1), actualTime: nil, error: &err)
        // !! check the error before proceeding
        let uiImage = UIImage(CGImage: cgImage)
        let imageView = UIImageView(image: uiImage)
        // lay out this image view, or if it already exists, set its image property to uiImage