gpt4 book ai didi

javascript - 如何限制在 Safari(MacOS 和 iOS)中暂停时获取 hls 段文件

转载 作者:行者123 更新时间:2023-12-04 11:43:38 24 4
gpt4 key购买 nike

我们生成段大小为 3 秒的 hls 文件。我们将 hlsjs 用于非 Safari 浏览器,并且 Safari 具有原生 hls 支持。
在 hlsjs 世界中,我们能够使用 maxMaxBufferLength 限制我们应该在缓冲区方面领先多少,因为我们无法为 Safari 找到类似的解决方案。在 Safari 中,加载视频 m3u8 后,即使我在一秒钟后暂停,在网络选项卡中我也可以看到正在获取我想要限制的所有片段。
由于公司政策,我将无法分享我们的示例。但是,hls.js 的公共(public)示例文件附在下面:
https://test-streams.mux.dev/x36xhzz/url_6/193039199_mp4_h264_aac_hq_7.m3u8尝试在 Safari 中打开此 url,然后尝试暂停视频,您会看到它继续下载。好像您使用 https://hls-js.netlify.app/demo/ 打开同一个使用 maxMaxBufferLength: 5 它不会发生。
ffmpeg 是否有一个选项可以使其受控缓冲区或我们应该通过监听事件为 Safari 做的一些解决方案?
在这里找到同样的问题 -> https://developer.apple.com/forums/thread/121074

最佳答案

一旦结帐this resource ,它强调了这样一个事实:

hls.js tries to buffer up to a maximum number of bytes (60 MB by default) rather than to buffer up to a maximum nb of seconds.this is to mimic the browser behavior (the buffer eviction algorithm is starting after the browser detects that video buffer size reaches a limit in bytes).


最好查看 this script file here 的第 175 和 176 行显示 maxBufferSize 的 8 次充当 maxBufLen .你可能会考虑改变这一点。

关于javascript - 如何限制在 Safari(MacOS 和 iOS)中暂停时获取 hls 段文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68394401/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com