ijkplayer icon indicating copy to clipboard operation
ijkplayer copied to clipboard

【QA】视频缓存最大上限

Open zdw19840929 opened this issue 1 year ago • 4 comments

https://github.com/debugly/ijkplayer/issues/46 大佬 之前问过您这个问题,就是#define MAX_QUEUE_SIZE 这里默认是50M,能否增加这个值呢?比如设置成用户可以自定义的值。 使用场景是这样的,比如我观看一个2G视频的时候,在家里通过wifi可能缓存了500M,这样在外面网络不好的情况下也可以继续观看,目前50M的话感觉对于大部分影视文件来说不太够用呢。

zdw19840929 avatar Feb 10 '25 02:02 zdw19840929

可以改,但是这个值用户设定得比较大时,能够满足你说的这个场景,但通过这种方式解决不是好方案。 ijkplayer 现在存在这个问题 https://github.com/debugly/ijkplayer/issues/70 ,那么当缓存了 500M后,用户一旦发起seek,这 500M就浪费了,会浪费很多流量。

debugly avatar Feb 10 '25 03:02 debugly

可以改,但是这个值用户设定得比较大时,能够满足你说的这个场景,但通过这种方式解决不是好方案。 ijkplayer 现在存在这个问题 #70 ,那么当缓存了 500M后,用户一旦发起seek,这 500M就浪费了,会浪费很多流量。

比如我缓存了10分钟的视频,这时候seek到第8分钟的时候,目前会把全部缓存清空,然后再去重新缓存对吗?这样感觉不合理呢,如果seek命中缓存的话是不是应该不清空缓存呢?不知道我理解的对不对。

另外大佬能否把最大值调整到比如1g,这样是不是用户可以通过[self.player setPlayerOptionIntValue:10* 1024 *1024 forKey:@"max-buffer-size"]定义缓存最大值了呢(小于1g都可以生效)?

zdw19840929 avatar Feb 10 '25 03:02 zdw19840929

是的,会优化这个清空缓存的问题,重复利用。

开发者可以修改 MAX_QUEUE_SIZE 达到通过 max-buffer-size 设定的目的,但我不能改成 1G 这么大。

debugly avatar Feb 10 '25 06:02 debugly

是的,会优化这个清空缓存的问题,重复利用。

开发者可以修改 MAX_QUEUE_SIZE 达到通过 max-buffer-size 设定的目的,但我不能改成 1G 这么大。

好的 期待大佬的下个版本~~

zdw19840929 avatar Feb 10 '25 09:02 zdw19840929

fsplayer 最新包已经支持最大设定为 500MB 了。

debugly avatar Apr 15 '25 08:04 debugly