kingslay / KSPlayer

A video player for iOS、macOS、tvOS、visionOS , based on AVPlayer and FFmpeg, support the horizontal, vertical screen. support adjust volume, brightness and seek by slide, SwiftUI, support subtitles.
https://apps.apple.com/app/tracyplayer/id6450770064
GNU General Public License v3.0
980 stars 198 forks source link

是否可以增加缓冲时长的功能? #725

Closed FaiChou closed 8 months ago

FaiChou commented 8 months ago

像 infuse 那种提前缓存几分钟的时长,可以在进度条展示给用户,这样用户拖动进度条到已缓冲的位置可立即跳转。

看了源码,使用 CircularBuffer 来存储 ffmpeg 读取的 packet,是否可以将 Capacity 做大一点或者接收外部参数,存储未被解码的 packet,内存占用应该不会特别大。

kingslay commented 8 months ago

可以的 你修改最大缓存时长就可以了

275080225 commented 8 months ago

修改maxBufferDuration后会爆内存闪退

kingslay commented 8 months ago

需要在一个合理的范围。不能太大

275080225 commented 8 months ago

我设置5分钟,就爆了,有办法做成本地存储不

kingslay commented 8 months ago

5分钟太长了,你搞个3分钟试下。 本地存储也是可以的,但是目前还没做。有人提了这个feature。