- From: Martin Thomson <martin.thomson@gmail.com>
- Date: Thu, 9 Aug 2012 08:45:11 -0700
- To: public-webrtc@w3.org
- Message-ID: <CABkgnnWmnF31CBJW1d2R-fLr96q1xoq88=jHhjVRry-92JNZpw@mail.gmail.com>
I am attaching the specification, with a minor correction to highlight that this is unofficial (and not a Member Submission). Apologies for the size. --Martin On 6 August 2012 12:40, Martin Thomson <martin.thomson@gmail.com> wrote: > Today, we are pleased to announce Microsoft’s contribution of the CU-RTC-Web > proposal to the W3C WebRTC working group. > > Thanks in no small part to the exponential improvements in broadband > infrastructure over the last few years, it is now possible to leverage the > digital backbone of the Internet to create experiences for which dedicated > media and networks were necessary until not too long ago. > > Inexpensive, real time video conferencing is one such experience. > > The Internet Engineering Task Force and the World Wide Web Consortium > created complementary working groups to bring these experiences to the most > familiar and widespread application used to access the Internet: the web > browser. The goal of this initiative is to add a new level of interactivity > for web users with real-time communications (Web RTC) in the browser. > > While the overarching goal is simple to describe, there are several critical > requirements that a successful, widely adoptable Web RTC browser API will > need to meet: > > * Honoring key web tenets – The Web favors stateless interactions which do > not saddle either party of a data exchange with the responsibility to > remember what the other did or expects. Doing otherwise is a recipe for > extreme brittleness in implementations; it also raises considerably the > development cost which reduces the reach of the standard itself. > > * Customizable response to changing network quality – Real time media > applications have to run on networks with a wide range of capabilities > varying in terms of bandwidth, latency, and packet loss. Likewise these > characteristics can change while an application is running. Developers > should be able to control how the user experience adapts to fluctuations in > communication quality. For example, when communication quality degrades, > the developer may prefer to favor the video channel, favor the audio > channel, or suspend the app until acceptable quality is restored. An > effective protocol and API should provide developers with the tools to > tailor the application response to the exact needs of the moment. > > * Ubiquitous deployability on existing network infrastructure – > Interoperability is critical if WebRTC users are to communicate with the > rest of the world with users on different browsers, VoIP phones, and mobile > phones, from behind firewalls and across routers and equipment that is > unlikely to be upgraded to the current state of the art anytime soon. > > * Flexibility in its support of popular media formats and codecs as well as > openness to future innovation – A successful standard cannot be tied to > individual codecs, data formats or scenarios. They may soon be supplanted by > newer versions that would make such a tightly coupled standard obsolete just > as quickly. The right approach is instead to support multiple media formats > and to bring the bulk of the logic to the application layer, enabling > developers to innovate. > > While a useful start at realizing the Web RTC vision, we feel that the > existing proposal falls short of meeting these requirements. In particular: > > * No Ubiquitous deployability: it shows no signs of offering real world > interoperability with existing VoIP phones, and mobile phones, from behind > firewalls and across routers and instead focuses on video communication > between web browsers under ideal conditions. It does not allow an > application to control how media is transmitted on the network. On the other > hand, implementing innovative, real-world applications like security > consoles, audio streaming services or baby monitoring through this API would > be unwieldy, assuming it could be made to work at all. A Web RTC standard > must equip developers with the ability to implement all scenarios, even > those we haven’t thought of. > > * No fit with key web tenets: it is inherently not stateless, as it takes a > significant dependency on the legacy of SIP technology, which is a > suboptimal choice for use in Web APIs. In particular, the negotiation model > of the API relies on the SDP offer/answer model, which forces applications > to parse and generate SDP in order to effect a change in browser behavior. > An application is forced to only perform certain changes when the browser is > in specific states, which further constrains options and increases > complexity. Furthermore, the set of permitted transformations to SDP are > constrained in non-obvious and undiscoverable ways, forcing applications to > resort to trial-and-error and/or browser-specific code. All of this added > complexity is an unnecessary burden on applications with little or no > benefit in return. > > The Microsoft Proposal for Customizable, Ubiquitous Real Time Communication > over the WebFor these reasons, Microsoft has contributed the CU-RTC-Web > proposal that we believe does address the four key requirements above. > > * This proposal adds a real-time, peer-to-peer transport layer that empowers > web developers by having greater flexibility and transparency, putting > developers directly in control over the experience they provide to their > users. > > * It dispenses with the constraints imposed by unnecessary state machines > and complex SDP and provides simple, transparent objects. > > * It elegantly builds on and integrates with the existing W3C getUserMedia > API, making it possible for an application to connect a microphone or a > camera in one browser to the speaker or screen of another browser. > getUserMedia is an increasingly popular API that Microsoft has been > prototyping and that is applicable to a broad set of applications with an > HTML5 client, including video authoring and voice commands. > > You can find this proposal at: > > http://html5labs.com/cu-rtc-web/cu-rtc-web.htm
Attachments
- text/html attachment: realtime-media.html
- image/png attachment: overview.png
Received on Thursday, 9 August 2012 15:45:49 UTC