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

时间:2018-01-20 14:59:24

标签: node.js express audio audio-streaming

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

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

我目前将音频流式传输到客户端的方法是抓住二进制文件并使用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 个答案:

答案 0 :(得分:1)

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