我已使用AVPlayer进行视频播放。我正在使用以下代码行进行正向清理,并且工作正常。但是,当我使用滑块向后擦洗它时,似乎断断续续,并跳过了几帧。

let valueToUpdate = Float(value) * Float(self.highlightsPlayer.clipTimeDuration)
self.highlightsPlayer.highlightsPlayerItem?.seek(to: CMTimeMakeWithSeconds(TimeInterval(valueToUpdate), 240))

有什么解决方案可以以相同方式进行正向和反向洗涤吗?

提前致谢。

最佳答案

它与压缩和关键帧有关。假设您正在浏览经过压缩的视频。每10秒钟您会获得一张完整的图像,但是在这10秒钟帧之间的每一帧中,您只会得到变化的像素。因此,向前扫描很容易,您只需将像素合并即可,并根据速度显示更少的帧。向后退不是那么容易。要在其中一个关键帧后甚至还要前进一帧,您需要跳回到上一个关键帧(后退10秒钟),然后补全所有图像,直到您需要一个为止。

显然,由于存在可变速率压缩算法,因此这有点简化了,但这应该可以为您提供总体思路。

关于ios - 在使用AVPlayerItem的情况下,向后擦洗是否可以像iOS中的向前擦洗一样流畅?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41012699/

10-13 07:57