İçeriğe geç

İOS ile Video Snapshot görüntü yakalamak

İOS

Merhabalar bu yazımda sizlere güzel bir örnek vereceğim. Bu sayede İOS uygulamalarınızda videonun içerisinden ekran görüntüsü nasıl alınır görmüş olacağız.

Video Snapshot nedir ? bundan bahsedecek olursam. Bu olay videonun her hangi bir anında o anın fotoğrafını çekmeniz demektir. Bu olay tüm sosyal medyalarda sistemlerde kullanılmakta bildiğiniz gibi video için kapak fotoğrafı seçiyoruz. Bu işlem vereceğim örnek ile yapılmakta.

Bunun için AVFoundation kütüphanesinin marifetlerinden yararlanacağız.

Aşağıdaki verdiğim örneği inceleyelim.

  func videoSnapshot(path filePathLocal: String,shotTime:Double) -> UIImage? {
        
        let vidURL = NSURL(fileURLWithPath: filePathLocal)
        let asset = AVURLAsset(URL: vidURL)
        let generator = AVAssetImageGenerator(asset: asset)
        generator.appliesPreferredTrackTransform = true
        
        let timestamp = CMTime(seconds: shotTime, preferredTimescale: 60)
        
        do {
            let imageRef = try generator.copyCGImageAtTime(timestamp, actualTime: nil)
            return UIImage(CGImage: imageRef)
        }
        catch let error as NSError
        {
            print("ss failed \(error)")
            return nil
        }
    }
imgview.image = videoSnapshot(path: "/Users/kenan/Desktop/LayersTest/vid.mp4", shotTime: 3.0)

Not: Ben burada pc üzerinden video yolunu verdim, siz uygulama yazarken videoyu kaydettiğiniz path‘i vermeniz gerekli.

Yukardaki yazdığım fonksiyon ile video yolunu ve dilediğiniz saniyenin görüntüsünü almak için shotTime girdiğiniz zaman size o anın görüntüsünü döndürecektir. AVAsset sınıfıyla çoğu video işleme olayları yapılmakta çok yararlı bir sınıf.

Tarih:iOS

Tek Yorum

  1. Anonim Anonim

    Güzel bir örnek 👍🏻

Bu yazı yorumlara kapalı, ama geri izlemeler ve pingback'ler açık.

Copyright © 2020 Kenan Atmaca