【问题标题】:Google Cloud Storage: Download partial audio fileGoogle Cloud Storage:下载部分音频文件
【发布时间】:2021-02-02 17:01:37
【问题描述】:

我需要分段处理大型音频文件。我不想下载完整文件并提取时间范围,而是只下载所需的片段(例如 25 到 35 秒)。

由于 API 不支持开箱即用,仅下载音频文件片段的最佳方式是什么?

【问题讨论】:

    标签: node.js google-cloud-storage


    【解决方案1】:

    不支持从秒读取,因为 Google 存储不会读取文件并对其进行解释。

    你可以做字节段。这称为字节的读取范围,在 Cloud Storage 中支持。

    您必须按照文档 [1] 添加标题 Range: bytes=20-2000

    在 nodejs 中你会做这样的事情 [2]

       const logFile = myBucket.file('access_log');
       logFile.createReadStream({
         start: 20,
         end: 2000
       })
    

    [1]https://cloud.google.com/storage/docs/xml-api/reference-headers#range

    [2]https://github.com/googleapis/nodejs-storage/blob/607f6c1c8b9ae5414513957f54a5de2490c454b1/src/file.ts#L1178

    【讨论】:

    • 我相信秒和字节范围之间的映射是在音频/视频文件的元数据中指定的。您需要先阅读该内容,然后再进行范围查询。这是开箱即用的网络媒体播放器。
    猜你喜欢
    • 2017-11-08
    • 2016-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-19
    • 1970-01-01
    • 1970-01-01
    • 2021-06-29
    相关资源
    最近更新 更多