首页 文章

通过NodeJS传输音频的最快方式

提问于
浏览
1

我的所有音频文件都来自外部源Google Cloud Storage . 并且所有文件都有一个公共URL,无需授权令牌即可访问 .

示例网址: https://storage.googleapis.com/bucket/randomId.mp3

我目前将音频流式传输到客户端的方法是 grab 二进制文件并使用 sendSeekable 来响应

示例代码

const url = 'https://storage.googleapis.com/bucket/randomId.mp3';

request({
  url: track.file.location,
  encoding: null,
}, (error, response, body) => {
  res.setHeader('Cache-Control', 'no-cache');
  res.sendSeekable(body);
});

但是我看到SoundCloud所做的是他们会要求新的一小部分 base64 音频,所以无论用户在哪里开始播放音乐,它都会很快响应,就像有自己做流媒体的方式 seekable .

所以我的任务是,是否可以通过这种基础设施,将音频和响应分成一小块字节?

有流媒体音频的提示或最佳做法吗?

1 回答

  • 1

    最好/最快的事情就是重定向到资源 . 使用301,302,307或308状态代码和 Location 标头 .

相关问题