Можно ли отправить потоковое RTSP на html-страницу, используя узел js?

В моем бэкэнд-коде (ниже) я транслирую 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});
        }
    });

0 ответов

С node-rtsp-stream у вас есть все, что вам нужно, чтобы подключиться к rtsp и передать поток через соединение websocket. Все, что вам нужно сделать, это на стороне браузера использовать модуль jsmpeg для отображения потока в HTML-элементе canvas. Я сделал это с угловым. Убедитесь, что вы установили ffmpeg и процесс узла нашел его (PATH).

Другие вопросы по тегам