我正在尝试将一个webRTC流以本地方式发送到一个安卓设备(没有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,所以我不确定我在这里看到的一些语法。我假设||在这里是一个光荣的空检查?
发布于 2018-11-04 17:59:31
我通过在默认页面的JavaScript中穿插找出了答案。
我需要的URL是ws://ip:port/stream/webrtc。
我仍在努力使实际的流工作--谁知道我是否会这样做,但至少我现在能够连接到信令服务器。
https://stackoverflow.com/questions/53143626
复制相似问题