在我的后端代码(下图)中,我正在流式传输rtsp
,我想将其发送到我的前端代码。 具体来说,我希望将流式响应数据发送到我的 html 页面,并在画布标签中呈现为视频。 这可能吗?
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});
}
});
使用 node-rtsp-stream,您拥有连接到 rtsp 并通过 websocket 连接通过管道传输流所需的一切。您所要做的就是在浏览器端使用模块 jsmpeg 在画布 html 元素中显示流。我已经用棱角完成了这个。确保已安装 ffmpeg 并且节点进程找到它 (PATH)。