Необходимо показать предварительный просмотр миниатюр видео при поиске (Like youtube) для iOS - PullRequest
0 голосов
/ 14 февраля 2020

Мне нужно показать предварительный просмотр видео Thumbanils при поиске в AVPlayer. Так же, как YouTube показывает их. (iOS) (также для прямой трансляции) (решение предпочтительнее для Wowza / Amazon S3)

Ответы [ 2 ]

0 голосов
/ 14 февраля 2020

Вместо этого вы можете попробовать этот помощник Youtube - https://github.com/youtube/youtube-ios-player-helper

0 голосов
/ 14 февраля 2020

Вы можете попробовать это:

extension AVAsset {

    func getPreviewImage(for timeInSeconds: Int = 0) -> UIImage? {
        let imageGenerator = AVAssetImageGenerator(asset: self)
        imageGenerator.requestedTimeToleranceBefore = .zero
        imageGenerator.requestedTimeToleranceAfter = .zero
        imageGenerator.appliesPreferredTrackTransform = true
        guard let cgImage = try? imageGenerator.copyCGImage(at: CMTime(value: CMTimeValue(timeInSeconds), timescale: 1), actualTime: nil) else { return nil }
        return UIImage(cgImage: cgImage)
    }

}

Вы не должны получать предварительный просмотр в главном потоке.

Если вам требуется серия изображений для предварительного просмотра, вы можете попробовать this :

Если вам требуется серия изображений, вы можете добиться гораздо большей эффективности с помощью асинхронного метода generateCGImagesAsynchronously (forTimes: завершениюHandler :), который использует эффективность декодирования, аналогичную эффективности, используемой во время воспроизведение.

...