从Express.js进行管道传输时无法搜索视频

时间:2019-08-04 12:41:28

标签: node.js express

我的视频文件存储在Google云端存储中。我想通过我的Express服务器代理http get请求并返回mp4文件。

我有以下提供文件服务的快速端点,但是,无论是在videojs中播放视频还是在使用本机Chrome视频播放器时,我都找不到。例如,我无法快进。任何帮助将不胜感激。

router.get('/stream', async (req, res) => {
  try {
    const meta = await bucket.file(req.query.fileName).getMetadata()
    const readStream = bucket.file(req.query.fileName).createReadStream();

    res.writeHead(200, {
      'Content-Type': 'video/mp4',
      'Content-Length': meta[0].size
    })

    return readStream.pipe(res);
  }

  catch (e) {
    return res.status(400).send(`error streaming video ${e}`);
  }
});

关于它的价值,我注意到当我在chrome中查看“网络”标签时,看到两个请求:一个请求用于文档,另一个请求用于媒体,并且文档网络通话保持为待处理状态。

enter image description here

0 个答案:

没有答案