如何从 Swift 中的 .m3u8 合成视频 url 获取缩略图?
How to get thumbnail image from .m3u8 formate video url in Swift?
func getThumbnailFrom(path: URL?, withCompletionHandler completion:@escaping ((UIImage)-> Void)){
var thumbnail = UIImage(named: "name of Dummy Image")
if let url = path{
DispatchQueue.global(qos: .background).async {
do{
let asset = AVURLAsset(url: url , options: nil)
let imgGenerator = AVAssetImageGenerator(asset: asset)
imgGenerator.appliesPreferredTrackTransform = true
let cgImage = try imgGenerator.copyCGImage(at: CMTimeMake(value: 500,timescale: 30), actualTime: nil)
thumbnail = UIImage(cgImage: cgImage)
completion(thumbnail!)
}catch let error{
print(error.localizedDescription)
}
}
}
completion(thumbnail!)
}
Used it as
getThumbnailFrom(path: URL(string: "https://p-events-delivery.akamaized.net/18oijbasfvuhbfsdvoijhbsdfvljkb6/m3u8/hls_vod_mvp.m3u8")!, withCompletionHandler: { (image) in DispatchQueue.main.async(execute: { self.imagePreview.image = image }) })
也试试 https://github.com/acotilla91/ACThumbnailGenerator-Swift
但在这个唯一的演示中 link 正在运行
有什么解决办法吗?
提前致谢。
如果您要使用 ACThumbnailGenerator-Swift
,则在 Info.plist
中添加 NSAppTransportSecurity
func getThumbnailFrom(path: URL?, withCompletionHandler completion:@escaping ((UIImage)-> Void)){
var thumbnail = UIImage(named: "name of Dummy Image")
if let url = path{
DispatchQueue.global(qos: .background).async {
do{
let asset = AVURLAsset(url: url , options: nil)
let imgGenerator = AVAssetImageGenerator(asset: asset)
imgGenerator.appliesPreferredTrackTransform = true
let cgImage = try imgGenerator.copyCGImage(at: CMTimeMake(value: 500,timescale: 30), actualTime: nil)
thumbnail = UIImage(cgImage: cgImage)
completion(thumbnail!)
}catch let error{
print(error.localizedDescription)
}
}
}
completion(thumbnail!)
}
Used it as
getThumbnailFrom(path: URL(string: "https://p-events-delivery.akamaized.net/18oijbasfvuhbfsdvoijhbsdfvljkb6/m3u8/hls_vod_mvp.m3u8")!, withCompletionHandler: { (image) in DispatchQueue.main.async(execute: { self.imagePreview.image = image }) })
也试试 https://github.com/acotilla91/ACThumbnailGenerator-Swift 但在这个唯一的演示中 link 正在运行
有什么解决办法吗?
提前致谢。
如果您要使用 ACThumbnailGenerator-Swift
,则在 Info.plist
NSAppTransportSecurity