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 - 获取视频第一帧图片
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...