首页 > 解决方案 > 在nodejs中转发远程hls视频的ts

问题描述

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 播放器中播放。

但是当我res.end(response.data);在我的 node.js 服务器中使用转发时,我无法播放转发的文件,但它的内容大小约为 1600KB。

我还参考了以下文章并尝试编辑content-type,但没有成功: nodejs api does not forward response which received from another service

任何想法都非常感谢。

标签: node.jsexpressaxioshttp-live-streaming

解决方案


根据 Lawrence Cherone 的评论,我替换res.end(response.data);response.data.pipe(res).


推荐阅读