我正在尝试构建可以从双方传输视频的移动应用程序(即视频通话之类的东西)。
我研究了 webrtc,但这还没有为移动本机应用程序做好准备,无论如何 webrtc 正在做的是允许浏览器直接捕获相机和音频而不需要插件等。但在本机移动应用程序中捕获相机和音频不是问题基本上需要非常低的延迟和双传输层。在许多文章和地方,我读到了有关使用 webrtc 而不是 websockets 的内容。
所以我想我可以使用网络套接字流式传输视频。这是正确的还是我错过了什么?
我知道还有一个区别,webrtc 是直接客户端到客户端...而 websocket 是客户端-服务器-客户端,有没有办法避免它。这对延迟意味着什么?
你错过了一些东西。
webRTC 在移动设备上运行得非常好。 webrtc.org 的参考代码 (appRTCDEMO) 中有适用于 iOS 和 Android 的示例/白色客户端,以及多个应用程序。最后宣布的一项出现了。
从流中获取视频和音频流是其中的一部分
媒体 API,而不是 webRTC API(getusermedia)。
webRTC 实际上是 p2p 连接(RTCPeerConnection:传输和防火墙穿越)和媒体引擎(编码、打包、加密),正是您所寻找的。
webSockets 只是一种传输机制。它不处理防火墙/nat 遍历、媒体处理和打包/分块,而您必须在应用程序级别实现这些功能。
至信令就目前而言,webRTC 并没有指定/强加任何协议,看似常见的做法是建立一个信令服务器。应用程序通常使用 Web 套接字或 XHR 或其他方式连接到该服务器来执行原始握手/呼叫设置。许多应用程序通过使用像 socket.io 这样的库来抽象这一点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)