iOS AVComposition URL 错误

出现这个问题的原因

很简单,慢速视频
通过

[[PHImageManager defaultManager] requestAVAssetForVideo:phasset options:optionForCache resultHandler:^(AVAsset * avasset, AVAudioMix * audioMix, NSDictionary * info) {

获取的视频类型,有些是直接视频(avasset),有些是视频(带配置信息)(avcomposition)

为什么会出现这个问题

苹果为了更快的处理慢镜头视频(编辑模式),并非每次修改视频都重新写入,有时只是更改它的配置,avcomposition就是干这个的,里面包含了若干avasset对象,若干音轨,以及时间轴的概念。

直接从avcomposition获取avasset

这样做是不可取的,因为即便获取到avaset也不是你预览时看到的样子

如何得到这种视频的avasset

使用avmutablecomposition,把这个avcomposition当作一个avsset放进去,并生成一个新视频,那么这个新视频就是你需要的avaset

参考:
https://stackoverflow.com/questions/32081057/how-to-convert-an-avmutablevideocomposition-to-an-avasset

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。