如何将 RSTP 流传输到将提供客户端的远程 Nodejs 服务器?

问题描述

我正在尝试通过 websocket 从本地 nodejs 服务器流式传输到其他 nodejs 服务器,但无法正常工作。

我的本​​地服务器看起来像这样

var Cam = require('onvif').Cam;
var Stream = require('node-rtsp-stream');

const HOST = "192.168.1.101";
const username = "admin"
const password = "password"

new Cam({
    hostname: HOST,username: username,password: password
},function (err) {
    //this.absoluteMove({ x: 1,y: 1,zoom: 1 });
    this.getStreamUri({ protocol: 'RTSP' },function (err,stream) {
        if (stream) {
            let url = addCredentials(stream.uri,username,password);
            console.log(url);

            var newStream = new Stream({
                name: 'test',streamUrl: url,wsPort: 3000,ffmpegOptions: { // options ffmpeg flags
                    '-stats': '','-r': 30,'-b:v': '5000k'
                }
            });
        }
    });
});

客户端:

<html>
<body>
    <canvas id="canvas"></canvas>
</body>

<script type="text/javascript" src="/html/jsmpeg.min.js"></script>
<script type="text/javascript">
    var url = 'ws://localhost:3000';

    player = new JSMpeg.Player(url,{
        canvas: document.getElementById('canvas') // Canvas should be a canvas DOM element
    })  
</script>
</html>

这工作正常,但只能在本地主机中访问。

我尝试使用“node-websockify”,但没有成功。

如果有人最近做过这件事,请告诉我是怎么做的,谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...