我的视频文件存储在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中查看“网络”标签时,看到两个请求:一个请求用于文档,另一个请求用于媒体,并且文档网络通话保持为待处理状态。