首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有可能在客户端运行代理视频媒体请求的javascript代理?

是否有可能在客户端运行代理视频媒体请求的javascript代理?
EN

Stack Overflow用户
提问于 2021-12-17 08:11:07
回答 1查看 390关注 0票数 4

我把视频文件托管在CDN上,视频文件是加密的。所以在浏览器中播放之前我需要解密它。但是网络视频标签没有修改媒体流的接口。

因此,我希望在客户端使用javascript运行一个代理来代理媒体流请求,并将前面的流解密到视频标记上。

有可能吗?

通过math-chen's answer,我尝试了下面的代码,但是当我看到它时,视频保持旋转,而不是像图像下面那样呈现帧。

我使用一个非常小的未加密视频文件out.mp4,所以它可以加载一次。

代码语言:javascript
复制
<html>
    <video id="video" controls src="out.mp4">
    </video>

    <script>
        const video = document.querySelector('#video');
        const mediaSource = new MediaSource();
        video.src = URL.createObjectURL(mediaSource);
        mediaSource.addEventListener('sourceopen', sourceOpen);
        function sourceOpen() {
            var mime = 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"'
            var sourceBuffer = mediaSource.addSourceBuffer(mime);
            fetchBuffer('out.mp4', buffer => {
                sourceBuffer.appendBuffer(buffer)
            })
        }

        function fetchBuffer (url, callback) {
            var xhr = new XMLHttpRequest;
            xhr.open('get', url);
            xhr.responseType = 'arraybuffer';
            xhr.onload = function () {
                callback(xhr.response);
            };
            xhr.send();
        }
    </script>    
</html>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-17 08:25:02

它不需要代理

代码语言:javascript
复制
const video = document.querySelector('#video');
const mediaSource = new MediaSource();
video.src = URL.createObjectURL(mediaSource);
mediaSource.addEventListener('sourceopen', sourceOpen);
//you can implement logic in function sourceOpen
function sourceOpen() {
  //mime is type of video
  const sourceBuffer = mediaSource.addSourceBuffer(mime);
  fetch(videoUrl).then(function(response) {
     //decrypt
     return response.arrayBuffer();
  }).then(buffer => {
    sourceBuffer.appendBuffer(arrayBuffer);
  });
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70390112

复制
相关文章

相似问题

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