HLS / Media Source Extensions <video> 在移动设备上第一帧静音和自动播放冻结

HLS / Media Source Extensions <video> with muted & autoplay freezes on first frame on mobiles

我试图在我们的网站上添加英雄背景视频。它由 mux.com.

提供

我将它与 HLS 一起使用,但对于 Chrome,它使用我收集的媒体源扩展。

我知道要让 HTML5 视频自动播放,它也必须静音,我在那边有两个参数。

显然,在 Android Chrome 上,我得到的行为是在第一帧(黑色)冻结,但没有继续,我无法追踪原因。

在冻结的情况下,它仍然会加载视频,只是不会自动播放。

我没有线索。


隔离沙箱:

https://codesandbox.io/s/32yky6x7mq

https://32yky6x7mq.codesandbox.io/

在我的尝试中,我已将其简化为简单的 HTML 应用程序,带有 Hls.js 库和基本的 <video> 标签,但它在手机上会出现问题。


如何让视频在手机上自动播放?

P.S。要准确查看我尝试过的内容,请查看编辑历史记录,因为我已经尝试了很多东西。

具体来说,在我的设备上,Android Chrome,它是由 Data Saver 引起的。

禁用流量节省程序,视频自动播放。
这是自相矛盾的,因为使用 Data Saver 我希望视频根本不会加载,但它正在加载并且自动播放被中断 - 导致更多浪费。

可能还有其他设置阻止自动播放,例如,无法找到 iOS 无法正常工作的确切原因。关于 playsinline 属性有提示,我还没有测试过。 (我会更新的)

值得注意的是,Feature-Policy header也是:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Feature-Policy
它在我的场景中没有帮助,但它可能与其他场景中的自动播放有关。