我可以使用 Websocket 发送 RTP 吗?
我认为 Websocket 只是一种与另一点建立永久 TCP 连接并避免消息开销的方法。所以,似乎我可以使用任何可能通过TCP使用的东西。这听起来正确吗?
是和否。
您可以通过 websocket 连接发送任何数据,但它不会像 TCP 连接那样,因为另一个端点(即服务器)需要有逻辑来处理初始请求并使用标头来建立通道。Websockets使用TCP,它们不像TCP。
关于RTP数据包的部分,看到你webrtc
添加了标签,WebRTC可以用来创建和发送RTP数据包,但RTP数据包和连接是由浏览器本身建立的。您不能使用 WebRTC 来选择 RTP 数据包并通过您选择的协议(如 WebSockets)发送它们。你可以参考这个关于这个问题的其他答案。
更新
如果您的 Javascript 代码中有 RTP 数据包,您可以通过 WebSocket 发送它(例如 Base64 编码)。但真正的问题是,如果你使用WebRTC,你将没有RTP数据包,也没有数据来构建它们,因为一切都在浏览器代码中,无法通过JavaScript访问。