在nodejs中转发远程hls视频的ts
Forward ts of remote hls video in nodejs
router.get('/ts/:streamId/:ts', (req, res, next)=> {
var streamId = req.params["streamId"];
var ts = req.params["ts"];
var url = "http://192.168.0.193/hls/27f73cdf-c565-4328-a172-d23b1118e312/playout9.ts"
axios.create({
headers: { 'Authorization': 'Basic ' + req.session.bearer }
}).get(url)
.then(response => {
res.end(response.data);
});
});
我可以从浏览器下载url
提供的文件,在vlc播放器中播放。
但是当我在我的node.js服务器中使用res.end(response.data);
转发时,我无法播放转发的文件,但它的内容大小约为1600KB。
我也参考了下面的文章并尝试编辑content-type
,但是没有成功:
非常感谢任何想法。
根据 Lawrence Cherone 的评论,我将 res.end(response.data);
替换为 response.data.pipe(res)
。
router.get('/ts/:streamId/:ts', (req, res, next)=> {
var streamId = req.params["streamId"];
var ts = req.params["ts"];
var url = "http://192.168.0.193/hls/27f73cdf-c565-4328-a172-d23b1118e312/playout9.ts"
axios.create({
headers: { 'Authorization': 'Basic ' + req.session.bearer }
}).get(url)
.then(response => {
res.end(response.data);
});
});
我可以从浏览器下载url
提供的文件,在vlc播放器中播放。
但是当我在我的node.js服务器中使用res.end(response.data);
转发时,我无法播放转发的文件,但它的内容大小约为1600KB。
我也参考了下面的文章并尝试编辑content-type
,但是没有成功:
非常感谢任何想法。
根据 Lawrence Cherone 的评论,我将 res.end(response.data);
替换为 response.data.pipe(res)
。