[swift] 스위프트에서 비디오 썸네일 가져오기

AVFoundation 프레임워크를 사용하여 비디오의 썸네일 이미지를 추출할 수 있습니다. 먼저 AVFoundation을 import하고, AVAsset 및 AVAssetImageGenerator 객체를 사용하여 비디오 파일의 썸네일을 가져올 수 있습니다.

다음은 Swift 코드를 사용하여 비디오 파일의 썸네일을 가져오는 예제입니다:

import AVFoundation

func generateThumbnailImage(from videoURL: URL, completion: @escaping ((UIImage?) -> Void)) {
    let asset = AVAsset(url: videoURL)
    let imageGenerator = AVAssetImageGenerator(asset: asset)
    
    imageGenerator.appliesPreferredTrackTransform = true
    
    let time = CMTimeMakeWithSeconds(0.5, preferredTimescale: 600)
    
    imageGenerator.generateCGImagesAsynchronously(forTimes: [NSValue(time: time)]) { _, image, _, _, _ in
        if let thumbnailImage = image {
            let uiImage = UIImage(cgImage: thumbnailImage)
            completion(uiImage)
        } else {
            completion(nil)
        }
    }
}

let videoURL = URL(fileURLWithPath: "path_to_video_file.mp4")
generateThumbnailImage(from: videoURL) { thumbnailImage in
    if let image = thumbnailImage {
        // 비디오 썸네일 이미지 사용
    }
}

위의 코드에서 generateThumbnailImage(from:) 함수를 사용하여 비디오 파일에서 썸네일 이미지를 가져옵니다. 이 함수는 비동기로 동작하며, 완료 핸들러를 통해 썸네일 이미지를 반환합니다.

이와 같이 AVFoundation을 사용하여 스위프트에서 비디오 파일의 썸네일을 가져올 수 있습니다. 이를 활용하여 iOS 앱에서 동영상의 미리보기 기능 등을 구현할 수 있습니다.

참고 문헌: