最近我使用过WebRTC,我想知道在本机级别实现实时通信开放标准是否更有意义。
让我们说,我们有一个本机API,而不是网络浏览器API,任何本机应用程序,包括浏览器都可以利用。
WebRTC的部分承诺是在没有插件的情况下在浏览器上安装RTC,但为什么不停止那里,为什么不在没有插件的情况下在任何具有媒体功能的设备上安装RTC。有许多具有媒体功能的设备不能运行网络浏览器,例如可穿戴设备。在我看来,浏览器本身已成为插件,我认为就RTC而言,我们需要摆脱它。
听起来OpenWebRTC的方向类似,但到目前为止它们只在浏览器中工作。
答案 0 :(得分:3)
webrtc定义。 webrtc分为两部分,互补但分开。 W3C联盟正在为名为webRTC的浏览器标准化JS API。 IETF正在标准化底层协议以及线路上发生的互操作性,它被命名为rtcweb。
IETF的rtcweb小组定义了与浏览器进行互操作所需的一切,而不是自己的浏览器,即网关,设备等......去年11月在夏威夷举行的最新会议上明确表示,例如,有一个相应的draft。
在客户端,webRTC JS API的实现是在c / C ++实现之上完成的。那些“原生”(如在非浏览器,C / C ++中)API可以直接用于服务器,可嵌入设备,网关等,或者也可以用不同语言(obj-c,java)包装以提供“本机” (如在移动原生中)API。
请注意,bOTH openWebrtc.io和webrtc.org都可以使用C / C ++中完整的webRTC实现。 openWebrtc提供iOS包装器和webkit包装器(用于safari),但不提供数据通道支持,ORTC API支持,也不提供Windows下的编译。 webrtc.org支持所有桌面操作系统,并为iOS和Android提供包装。构建工具特定于google的chrome,不像openWebRTC使用标准的自动工具,github,...
HTH
答案 1 :(得分:1)
目前在这方面没有任何努力。 webrtc标准化委员会的工作人员已经完全标准化了javascript API。如您所知,目前的规格不是最终的,目前仍在进行中。现在ORTC将产生更多的工作。
目前没有人试图将任何形式的原生RTC标准化的原因有很多。以下是我想到的一些内容:
究竟是什么原生的? Javascript是浏览器的原生代码。 webrtc的chrome版本是用C ++编写的,而OpnWebRTC是用C语言编写的.Android开发人员使用的是Java,iOS开发人员使用ObjectiveC。是否应该有所有这些语言的标准?这将需要永远。
正如我所说,标准化委员会已经全力以赴。
WebRTC还有很多实验。标准化可能会阻止这种情况。
本机库的API往往与JS API非常相似。