首页 > 解决方案 > 是否有允许设置身份验证标头的 html 视频播放器?

问题描述

我正在尝试使用来自需要基于令牌的身份验证的服务器的 HTML5 视频播放 WebM 或 mp4 视频文件。我找不到任何支持设置 HTTP 请求标头 fr 获取媒体的请求的播放器。

仅支持为 HLS 和 DASH 媒体设置标头。

已经尝试过 video.js:(https://github.com/videojs/video.js/issues/6348),react-player,video-react 没有运气。

我已经从头实现了所需的解决方案,通过 XMLHttpRequest 使用 MediaSource 和 reding 文件作为数组缓冲区(类似于https://html5-demos.appspot.com/static/media-source.html)获取它,但我宁愿使用一些现有的更多强大的解决方案。

标签: video-streaminghtml5-video

解决方案


这是一个 hack,但您可以尝试使用ServiceWorker

您的 ServiceWorker 可以附加适当的身份验证标头,然后您根本不必在视频播放器中做任何特殊或奇怪的事情。您可以继续使用标准<video>标签。此外,浏览器可以针对请求的范围保持自己的行为,并且您不必经历媒体源扩展的头痛和不兼容问题。

另见: https ://serviceworke.rs/strategy-cache-and-update.html

请注意,尽管这并不总是有效......有时该 Service Worker 未加载(例如当用户执行 shift+refresh 时)。


推荐阅读