Можно ли отправить потоковое 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).