代码之家  ›  专栏  ›  技术社区  ›  Huhngut

uint8数组中的数字是什么?斑点

  •  0
  • Huhngut  · 技术社区  · 4 年前

    你好,比我聪明的人,

    我想下载一些基本的m3u8文件来学习。糟糕的是,所有的片段都是1x1p png文件,以ts格式持续10秒。

    Blob([new Uint8Array([0, 0, 0, 28, 102, 116, 121, 112, 105, 115, 111, 109, 0, 0, 2, 0, 105,...])], {type: "video/mp4"}))
    

    我当时指的是 set video objects source file to a blob url

    但现在我在挣扎。我不知道这些数字是多少。它们是mp4文件的内容吗?它们是否链接到段?如果这是真的,我也不明白为什么它们在我的文件中是明文的,而不是像问题中那样加载。 谢谢你的帮助

    //编辑 我用这些数字写了一些基本的测试代码

    blob = new Blob([new Uint8Array([0, 0, 0, 28, 102, 116, 121, 112, 105, 115, 111, 109, 0,...])], {
       type: "video/mp4"
    })
    console.log(blob)
    var url = URL.createObjectURL(blob);
    document.getElementById('_video').src = url;
    

    视频马上就结束了

    0 回复  |  直到 4 年前
        1
  •  2
  •   Apoorv Kansal    4 年前

    Uint8Array 您看到的是一个二进制数组缓冲区,用于存储视频文件的二进制数据。简单来说,这些数字是视频的原始二进制数据。

    你在干什么 new Blob([new Uint8Array([0, 0, 0, 28, ..])]) 正在从原始二进制数据创建新的Blob文件。视频文件没有运行的原因很可能是因为二进制数据不是mp4文件的正确表示。

    了解有关“类型化数组”的更多信息: https://javascript.info/arraybuffer-binary-arrays