【问题标题】:Is there a way to tweak AVPlayer so that scrubbing backward/reverse is as fast as forward scrubbing?有没有办法调整 AVPlayer 以便向后/向后擦洗与向前擦洗一样快?
【发布时间】:2016-03-15 20:35:20
【问题描述】:

如果我创建一个AVPlayerLayer 并给它一个远程视频以进行流式传输,并包含一个UISlider 用于将视频擦洗到不同的点,那么向前擦洗非常精确和流畅。超级棒。

然而,向后擦洗非常不稳定且不可靠,有很多丢帧。

有没有办法防止这种情况发生?我猜AVPlayer 会积极地删除视频中已经观看过的部分,并且只是减少了缓冲区,但我很好奇是否有办法遏制这种行为。

rate 设置为 -1 而不是 1 时也可以看到相同的情况,其中 1 播放流畅,-1 则断断续续。

【问题讨论】:

  • 这更多地与关键帧有关。在播放模式和快进模式下,帧都是从关键帧向前合成的。但是,当倒带所有解码器时,每个关键帧都必须继续,因此它会卡顿。这只是其编码方式的本质。正如@Karim 在下面建议的那样,处理此问题的唯一有效方法是在流式传输时将内容实际写入磁盘。

标签: ios cocoa-touch avfoundation avplayer


【解决方案1】:

我建议将文件下载到磁盘然后使用 AVPlayer 播放它

一些代码可能会有所帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-12
    • 2012-06-20
    • 2017-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-26
    • 1970-01-01
    相关资源
    最近更新 更多