avplay: AVPlayerItem
let itemPath: AVURLAsset = avplay.asset as! AVURLAsset
//获取视频第一帧图片
let gen = AVAssetImageGenerator.init(asset: itemPath)
gen.appliesPreferredTrackTransform = true
let time = CMTimeMakeWithSeconds(0.0, preferredTimescale: 1)
var actualTime : CMTime = CMTimeMakeWithSeconds(0, preferredTimescale: 0)
do {
let imageCg = try gen.copyCGImage(at: time, actualTime: &actualTime)
// let imgdata = image.jpegData(compressionQuality: scale);
let image = UIImage.init(cgImage: imageCg)
var data: Data!
if image.pngData() == nil {
data = image.jpegData(compressionQuality: 1)
} else {
data = image.pngData()
}
let how = data.count / 1024
// JJLog("how =\(how)kb\n")
//比例
let scale:CGFloat = (how > 200) ? (CGFloat(200/how)) : 1.0
//压缩图片,图片上传不能大于200kb
data = image.jpegData(compressionQuality: scale);
let imageString = data.base64EncodedString()
uploadVideoImgData(vImgDataStr: imageString)
} catch {
print("错误")
}
iOS开发笔记-103:Swift5 - 获取视频第一帧图片
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。