pili-engineering / PLShortVideoKit

PLShortVideoKit 是七牛推出的一款适用于 iOS 平台的短视频 SDK,提供了包括美颜、滤镜、水印、断点录制、分段回删、视频编辑、混音特效、视频剪辑、本地转码、视频上传在内的多种功能,支持高度定制以及二次开发。
https://github.com/pili-engineering/PLShortVideoKit
Apache License 2.0
448 stars 122 forks source link

视频切割功能seekToTime有问题 #68

Closed KayWong closed 6 years ago

KayWong commented 6 years ago

demo的视频切割是使用seekToTime方法,这个方法获取的预览图像间隔比较大,时间比较不准确,在demo改用

缓慢的滑动CollectionView的时候,在多段视频的交界处,视频的时间往前进的方向滑动,会出现无法获取预览图像的bug,不知道怎么处理这个问题

anhaoxiong commented 6 years ago

(void)seekToTime:(CMTime)time toleranceBefore:(CMTime)toleranceBefore toleranceAfter:(CMTime)toleranceAfter; toleranceBefore 和 toleranceAfter 是不是kCMTimeZero ?如果是,这个是视频不规范引起的,就是视频通道的开始时间不是从 0 开始,大概就是零点几秒开始的,这个时候可以使用 (void)seekToTime:(CMTime)time toleranceBefore:CMTimeMake(200, 1000) toleranceAfter:CMTimeMake(200, 1000); 即就是将 toleranceBefore 和 toleranceAfter 的值设置为 0.2,兼容一下这种不规范的视频。

anhaoxiong commented 6 years ago

判断视频开始时间: AVAssetReader 去读视频的第一帧,然后查看第一帧的时间戳是不是从0开始。

@KayWong 如果你遇到的问题不是我上面说的问题,可以加我 QQ 详细讨论:511913417