是否可以使用节点js将RTSP流发送到html页面?

时间:2018-12-26 04:43:45

标签: jquery html node.js html5-canvas rtsp-client

在我的后端代码(如下)中,我正在流式传输rtsp,并且希望将其发送到前端代码中。具体来说,我希望将流响应数据发送到我的html页面,并在canvas标签中将其呈现为视频。这可能吗?

Stream = require('node-rtsp-stream');
router.post('/',function(req,res){
  stream = new Stream({
    name: 'name',
     streamUrl:'rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov',
     wsPort: 9999
  });
    res.send(stream);
});

前端代码如下:

$.ajax({
        url:'/test',
        type:'POST',
        cache:false,
        success:function(data){
            console.log("RTSP Result  : "+JSON.stringify(data))
              var canvas = document.getElementById("videostream");
              var ws = new WebSocket("ws://localhost:9999")
              var player = new jsmpeg(ws, {canvas:canvas, 
                           autoplay:true,audio:false,loop: true});
        }
    });

1 个答案:

答案 0 :(得分:0)

使用node-rtsp-stream,您具有连接到rtsp并通过websocket连接通过流传输所需的全部内容。您所要做的就是在浏览器端使用jsmpeg模块在canvas html元素中显示流。我已经用角度做到了。 确保已安装ffmpeg,并且节点进程已找到它(PATH)。