What is WebRTC? & why it is?
WebRTC is an open-source project enabling plugin-free, Real Time Communications (RTC) in the browser. It includes the fundamental building blocks for high-quality communications such as network, audio, and video components used in voice and video chat applications.
WebRTC is made up of three APIs:
1. GetUserMedia (camera and microphone access)
2. PeerConnection (sending and receiving media)
3. DataChannels (sending non-media direct between browsers)
Who is supporting WebRTC?
The development of WebRTC is supported by the W3C, Google, Mozilla, and Opera. Other parties with a vested interest in the standard include Apple, Microsoft, Ericsson, Cisco and countless smaller real-time communications companies.
What is the goal of WebRTC?
WebRTC aims to give the development community access to open, high-quality, real-time communications technology. Before WebRTC, this type of RTC technology has only been available to large corporations who can afford the expensive licensing fees or through proprietary plugins like Adobe Flash. WebRTC will open the door for a new wave of video, voice, and data web applications.
Where does WebRTC Work?
WebRTC is currently supported in Opera, Google Chrome versions 23+, and Mozilla Firefox versions 22+.
Why is WebRTC important?
The WebRTC project is incredibly important as it marks the first time that a powerful real-time communications (RTC) standard has been open sourced for public consumption. It opens the door for a new wave of RTC web applications that will change the way we communicate today.
Significantly better video quality WebRTC video quality is noticeably better than Flash.
Reduced audio/video latency WebRTC offers significant improvements in latency through WebRTC, enabling more natural and effortless conversations.
Native HTML5 elements Customize the look and feel and work with video like you would any other element on a web page with the new video tag in HTML5.
Get a comprehensive overview of WebRTC from Justin Uberti’s Google I/O 2013 session:
What is development plan?
1) The video codec debate. Browser vendors, outside of Google and Mozilla, can’t agree on which video codec—VP8 or H.264—should be included in WebRTC.
What is VP8?
VP8 is a video-compression format created by On2 Technologies and owned by Google. VP8 was open-sourced by Google in 2010. When compared to H.264, VP8 is rarely used.
What is VP9?
VP9 is the successor to VP8. As with VP8, VP9 will be open sourced and available for free. T
What is H.264?
H.264 is a standard for video compression, and is currently one of the most commonly used formats for the recording, compression, and distribution of high-definition video. H.264 is patented by the MPEG LA group.
Why does WebRTC use VP8?
The standard committee has chosen to use VP8 due to H.264 licensing issues with the MPEG LA group.
Do either of those video codecs work on mobile devices?
Both codecs can work on mobile devices, but to get truly real-time performance and quality, mobile phones must have hardware to help decode the video. As of today, only H.264 hardware is found in mobile devices.
Where do all the interested parties stand on the issue?
Company VP8 H.264 Google ✓ Mozilla ✓ Opera ✓ Cisco ✓ ✓ Microsoft ✓ Apple ✓ Ericsson ✓
2) Browser incompatibility. Do any browsers interoperable with out-of-the-box WebRTC?
Yes. As of February 4, 2013, Google and Mozilla announced interoperation between Chrome and Firefox. Mozilla released production support of WebRTC in Firefox on June 25, 2013. In addition to desktop support, Google released support for WebRTC in Chrome for Android on August 21, 2013. Chrome for Android interoperates with the desktop version of Chrome as well as Firefox. Learn more here.
Is it possible to build WebRTC applications that interoperate across all browsers?
Not at the moment. Firefox, Chrome and Internet Explorer (with Google Chrome Frame) interoperate today. Unfortunately Google recently announced the Chrome Frame product will be retired in January 2014.
What about Safari?
Apple is staying quiet at the moment, so it’s hard to know where they stand on WebRTC in general. WebRTC implementations do not function in Safari.
What does Microsoft say?
CU-RTC-Web submission by Microsoft. Microsoft submitted an alternative proposal to the W3C WebRTC 1.0 Working Draft dubbed CU-RTC-Web (Customizable, Ubiquitous Real-Time Communication)
How is the CU-RTC Web standard different than WebRTC?
The Microsoft draft outlines a low-level API that allows developers more direct access to the underlying network and media-delivery components. It exposes objects representing network sockets and gives explicit application control over the media transport.
In contrast, the WebRTC API abstracts these details with a text-based interface that passes encoded strings between the two participants in the call. With the WebRTC draft, developers are responsible for passing the strings between communicating browsers, but not explicitly configuring media transport for a video chat. Read the TokBox blog What the CU-RTC-Web vs. WebRTC debate means for developers.
Why would Microsoft submit a competing standard?
Microsoft believes that the SDPs are too difficult for Web programmers to tackle. SDP as a model is a broad specification — there are lots of options and settings and browsers are only going to implement a limited part of it. The WebRTC specification also does not yet say which SDP extensions are required to be understood by browsers.
How did the W3C Working Group react?
The Working Group decided to continue using SDP to configure media transport. Microsoft is continuing forward with CU-RTC-Web, and recently released a demo using the proposed API.
Microsoft/Skype CU-RTC-WEB vs WebRTC
This is an attempt at summarizing the differences between CU-RTC-WEB and WebRTC at a very high level.
So about a month ago, Microsoft joined the WebRTC working group and Martin Thomson from Microsoft posted a message to the public-webrtc mailing list announcing that Microsoft had developed a proposal for something they’re calling CU-RTC-WEB, to meet the same use cases the existing WebRTC spec is intended for, but with a different design that’s not compatible with the existing WebRTC design.
The full title of the CU-RTC-WEB specification is “Customizable, Ubiquitous Real Time Communication over the Web”,
A Special Thanks Goes To:
https://js.att.io (AT&T Foundry)What is WebRTC, Current Scenario and Why we should Follow,