1
Help us understand the problem. What are the problem?

posted at

updated at

【Swift】撮影した動画からサムネイル画像を取得

はじめに

今回のタイトルは撮影した動画からサムネイル画像を取得としていますが、
私がこの記事で伝えたいのは取得方法よりも注意点についてです。
こちらを実装される方は知っておいた方が良いです。
又、こちらは動画の一番最初のフレームをサムネイルにする場合の実装です。

実装


private func setThumbnail() {

    guard let url = URL(string: videoUrl ) else { return }
    let asset = AVAsset(url: url)
    let generator = AVAssetImageGenerator(asset: asset)
    generator.appliesPreferredTrackTransform = true

    do {
        let thumbnailCGImage = try generator.copyCGImage(at: asset.duration, actualTime: nil)
        thumbnailImageView.image = UIImage(cgImage: thumbnailCGImage)
    } catch {
    }
}

注意点

私は最初こちらの実装をした際にサムネイルの画質が悪くなってしまったのですが、
その原因が下記のコードにて実際に表示するViewのサイズを指定してしまっていたからでした。
画質が落ちるよって方は下記コードが原因の可能性がありますので一度消して試してみてください。

generator.maximumSize = self.thumbnailImageView.frame.size
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
1
Help us understand the problem. What are the problem?