【发布时间】:2019-05-22 20:21:34
【问题描述】:
我目前正在构建一个网页,该网页具有 8 秒的背景视频作为全视图宽度和视图高度的英雄资产。该视频托管在 vimeo 中,遗憾的是,由于我的客户偏好,YouTube 不适合我。
到目前为止,这是我的 HTML 代码:
<video autoplay playsinline muted loop>
<source type="video/mp4" src="/my-vimeo-video.hd.mp4">
<source type="video/webm" src="/my-vimeo-video.hd.mp4">
</video>
目前,该视频在台式机和移动设备上都可以正常播放,并且具有“良好”的 wifi 连接。但是,当与手机连接不良时,就会出现问题。当页面加载时,用户将在开始播放之前看到视频加载。
理想情况下,我想检测用户的连接速度并提供适合连接速度的视频资产。默认视频是高清的,但如果连接不好,我可以提供质量较低的视频。
这样的事情可能吗?如果不是,Web 开发人员通常会如何解决根据用户的连接速度为用户提供最佳视频资产的问题?
基本上我想避免用户导航到页面以查看尝试加载的视频的情况。
我已经简要地查看了网络信息 API,但由于缺乏对 safari 的支持,这对我来说不是一个可行的选择。
提前感谢您的任何想法!
【问题讨论】:
-
你最好的选择是不要重新发明轮子,只编码和提供多比特率源,如 HLS 或 MPEG-DASH,并使用支持它的播放器(大多数现代浏览器原生支持 HLS,播放器像 Plyr.io 或 Shaka 支持 mpeg-dash)
标签: javascript html css video vimeo