【问题标题】:How to write UInt8Array buffer to media file format from browser?如何从浏览器将 UInt8Array 缓冲区写入媒体文件格式?
【发布时间】:2015-11-11 00:27:44
【问题描述】:

在浏览器中运行的 javascript 代码中,我已将视频解析为单独的音频和视频流缓冲区。音频和视频帧都是 UInt8Array 缓冲区的形式,我想以 .aac/.mp4 或其他媒体格式文件将其写入磁盘,应可由 VLC 或其他媒体播放器播放。我在 stackoverflow 上找到了一些关于将类型数组写入磁盘上的二进制格式文件的答案,但我需要保存的文件是正确的媒体文件。如何在 javascript 中将内存中的 TypedArray 写入磁盘上的音频/视频文件。

【问题讨论】:

    标签: javascript file-io binary-data typed-arrays


    【解决方案1】:
    function download(text, name) {
    
    
        var a = document.createElement("a");
        var buf = str2ab(text);
        var fileNew = new Blob([buf], {
            type: "image/jpeg"
        });
        a.href = URL.createObjectURL(fileNew);
        a.download = name;
        a.click();
    
    }
    
    function str2ab(str) {
      var buf = new ArrayBuffer(str.length);
      var bufView = new Uint8Array(buf);
      for (var i=0, strLen=str.length; i<strLen; i++) {
        bufView[i] = str.charCodeAt(i);
      }
      return buf;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-05
      • 1970-01-01
      • 2019-07-15
      • 1970-01-01
      • 1970-01-01
      • 2015-06-11
      • 1970-01-01
      相关资源
      最近更新 更多