我正在开发一个应用程序,它将发送OSC控制消息,据我所知,数据报包从网页到OSC接收器(服务器),如Max / MSP或Node或任何其他。
我知道通常使用UDP是因为速度对于使用OSC完成的实时/视听控制工作很重要(这也是我将要做的工作),但我知道可以使用其他方法。
现在,例如,我将OSC从浏览器发送到node.js服务器(使用socket.io),然后从node.js服务器发送到Max(这是我最终想要数据的地方),使用socket.io。我相信这意味着我正在使用websockets并且延迟/延迟并不坏。
我很好奇,现在WebRTC已经出局,如果我应该将我的工作的未来放在那里。在我使用OSC的所有工作中,我一直使用UDP,并且只使用Socket.io/Websockets连接,因为我不了解WebRTC。
关于我应该做什么的任何建议。我特别感兴趣的是
1.如何将OSC消息从浏览器直接发送到OSC服务器(而不是先通过节点服务器)
2.如果我应该使用Node / Socket.io / Websocket方法发送OSC数据,还是应该查看WebRTC?
答案 0 :(得分:3)
这不是一个关于任何特定技术挑战的问题,而是一个发现挑战。并且基于意见。
但我会尝试提供自己的想法,因为其他人也可以使用。
UDP的好处是某些数据包可以被丢弃/跳过/未送达,因为它不是“强制”数据,如图片帧或声音片段,只会导致质量下降,这是“预期的”行为在流媒体世界。 WebSockets将确保数据的传递,并且它的“价格”是最终减慢数据包队列速度的机制,以确保有序和有保证的数据传输。
答案 1 :(得分:3)
关于你的第一个问题 - 如果浏览器和服务器之间有一个direkt Websocket链接的解决方案(对于OSC) - 你可以看一下:
我发布了一个 osc-js 实用程序库,它使用UDP / Websocket桥接插件执行相同操作: