0

我正在尝试将 webRTC 流本地发送到 Android 设备(没有 webview)。

我已经在应用程序中实现了我自己的自定义信号类,我正在尝试对其进行测试。问题是,当我启动 UV4L 并尝试在超时时连接到信号套接字时ws://myIp:portNumber

在我的故障排除过程中,我快速在服务器机器上用 python 设置了一个简单的 websocket 服务器,并确保我可以从公共互联网访问它,所以我知道这不是我的端口被阻塞或类似的事情。我只是有错误的信号套接字 URL 吗?我在 UV4L 文档中找不到任何关于它的内容。当我从浏览器访问默认网页时,WebRTC 流工作得很好,所以我知道这不是问题。

这些东西的文档充其量是糟糕透了。

在使用提供自定义 HTML 页面的自定义服务器时,我看到了一些与设置 websocket 端点相关的配置选项,但我根本不需要任何网页——我只需要 websocket 来发送信号。

编辑:我做了一些探索,发现以下两行 JavaScript 可能与已知有效的默认页面的网页源相关:

 var signalling_server_hostname = location.hostname || "ipAddress censored";
 var signalling_server_address = signalling_server_hostname + ':' + (location.port || (location.protocol === 'https:' ? 443 : 80));

我对 JavaScript 不是很流利,所以我不确定我在这里看到的一些语法。我假设||这里有一个美化的空检查?

4

1 回答 1

0

我通过在 JavaScript 中寻找默认页面来解决这个问题。

我需要的 URL 是ws://ip:port/stream/webrtc.

我仍在努力让实际的流工作 - 谁知道我是否以正确的方式进行,但至少我现在能够连接到信令服务器。

于 2018-11-04T17:59:31.803 回答