首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >hls.js -如何增加预加载的缓冲区大小

hls.js -如何增加预加载的缓冲区大小
EN

Stack Overflow用户
提问于 2016-03-10 17:41:25
回答 2查看 11.6K关注 0票数 1

我正在使用远程src的ffmpeg生成hls内容,并且我在浏览器中无法理解的经验滞后。

例如,尽管有out8.ts,out9.ts .hls.js播放器将使用out7.ts,而不是加载出8.ts或out9.ts。

它一直等到out7.ts 几乎完成了播放,然后尝试加载out.m3u8,其中将包含out8.ts,也可能包含out9.ts。但是它做得太晚了,它最终导致了滞后。我是在本地主机上高效地这样做的。

一旦开始发生,这种情况似乎就会重演。

如何使hls.js 更经常地请求m3u8,缓冲区--现在的是什么?还是尽可能多?

此外,如果已经有1-10.ts文件,我如何使hls.js开始不是最后一个文件(虽然更接近生命),但可能在5.ts上,这样它就不会遇到与下一个更新的m3u8有关的紧迫的截止日期问题,并且可能会导致它无法缓冲吗?

我的选择:

代码语言:javascript
复制
    new Hls({
            autoStartLoad: true,
            debug: App.isDevelopment(),
            manifestLoadingTimeOut : 60000,
            /*manifestLoadingMaxRetry : 9,*/
            manifestLoadingRetryDelay : 500,
            levelLoadingTimeOut : 60000,
            /*levelLoadingMaxRetry : 9,*/
            levelLoadingRetryDelay : 500,

            fragLoadingTimeOut : 60000,
            /*fragLoadingMaxRetry : 6,*/
            fragLoadingRetryDelay : 250,
            startFragPrefetch : true
    });

在控制这类事情上,使用clapper而不是hls.js的有什么不同吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-11 17:27:54

您正在经历的滞后可能是段持续时间的原因。对于活动流,较短的持续时间会导致对播放列表的更频繁的请求,这可能导致额外的网络通信量。苹果推荐10秒,但(我相信) ffmpeg默认使用2秒。如果使用的是ffmpeg的hls,则可以使用-hls_time选项设置段持续时间;如果使用段,则可以使用-segment_time选项。我会先试试这个。

HLS规范指定重新加载播放列表之间的时间由段的目标持续时间决定,因此,如果要符合规范,则播放器必须遵守这一点。

您可以使用EXT-X-START标记来进行在特定的时间点开始播放视频

票数 1
EN

Stack Overflow用户

发布于 2020-11-04 07:34:23

尝试使用maxBufferLength.This是hls.js尝试达到的保证缓冲区长度,而不管maxBufferSize如何。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35923543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档