【问题标题】:Decode a base64 video blob with JavaScript使用 JavaScript 解码 base64 视频 blob
【发布时间】:2020-09-25 10:44:46
【问题描述】:

我制作了一个视频编码器,可以输出 base64 编码的视频。

视频播放器需要在浏览器中播放视频。 我当前的代码不起作用,我也尝试使用 responseText 而不是将响应作为 blob。

因此服务器获取视频并将其作为 base64 字符串处理。 那么浏览器需要对其进行解码并以视频的形式查看,我该如何完成呢?

我的代码:

decodeBase64 = function(s) {
    var e={},i,b=0,c,x,l=0,a,r='',w=String.fromCharCode,L=s.length;
    var A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
    for(i=0;i<64;i++){e[A.charAt(i)]=i;}
    for(x=0;x<L;x++){
        c=e[s.charAt(x)];b=(b<<6)+c;l+=6;
        while(l>=8){((a=(b>>>(l-=8))&0xff)||(x<(L-2)))&&(r+=w(a));}
    }
    return r;
};
var xhr = new XMLHttpRequest();
xhr.open("GET", "video");
xhr.responseType = "blob";
xhr.onload = response;
xhr.send();

function response(e) {
   var URL = window.URL || window.webkitURL;
   var videoUrl = URL.createObjectURL(decodeBase64(this.response));
   document.querySelector("video").src = videoUrl;
}

【问题讨论】:

  • 你能改写一下这个问题吗?它的模棱两可

标签: javascript base64 blob


【解决方案1】:

decodeBase64 的输出与(内置)btoa 的输出进行比较。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-04
    • 2021-09-25
    • 1970-01-01
    • 2020-09-19
    相关资源
    最近更新 更多