Friday, January 23, 2015

#WebRTC # Latest Technology that accelerate the Real Time Communication over the Web

WebRTC accelerate the Real Time Communication over the Web



Google released WebRTC on May 2011  and its an open source project for browser-based real-time communication.

“Framework, protocol and API that provide real-time Communication like audio, voice, video and data sharing in web browsers and other web applications ”

What does WebRTC stand for?

WebRTC is a free, open source project that enables web browsers with Real-Time Communications (RTC) capabilities via simple Javascript APIs. WebRTC (Web Real-Time Communication) is an API definition drafted by the World Wide Web Consortium (W3C) that supports browser-to-browser applications for  Voice & Video Callings and P2P file sharing without the need of either internal or external plugins. The WebRTC components optimized to best serve this purpose  and followed by ongoing work to standardise the relevant protocols in the IETF and browser APIs in the W3C.
WebRTC Works as an API
WebRTC APIs are exposed to web developers in an abstract manner and adapting to HTML5 . WebRTC Working Group of the W3C for JavaScript APIs.WebRTC is an open framework for placing real-time communication components on web-pages and is controlled by the World Wide Web Consortium (W3C), who are also taking care of other web-standards similar as HTML, XML, CSS and others. WebRTC components include methods such as VoIP, Instant Messaging (or just “chat”), video conferencing or a combination of these.


How does WebRTC work?

The framework is based on HTML5 and JavaScript but does not utilise Unified Communication solutions like SIP or H.323. The signalling and transfer of data works over RTP and with an XMPP extension called “Jingle”. With the newly introduced JavaScript Session Establishment Protocol (JSEP) direct connections can be established without the need of a piece of hardware in the middle. Depending on the deployment of voice , video and / or other data can now be exchanged to allow WebRTC to happen in your browser.
The WebRTC enable rich, high quality, RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow all to communicate via a common set of protocols.The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others. This page is maintained by the Google Chrome team.

The WebRTC Working Group expects this specification to evolve    
 significantly based on:
  • Outcomes of ongoing exchanges in the companion RTCWEB group at IETF is the set of protocols that, define real-time communications in multiple web browsers
  • Exposing local capabilities and local streams that arise privacy issues.

Examples for WebRTC?

The possibilities are impossible to count. Especially in the age of BYOD everyone has their smartphone always ready and beyond that every notebook and desktop PC could participate in WebRTC. Here are some examples I could think of:
  • Customer service via video conference (the end of the service hotline?)
  • Working together on documents via web (web-collaboration beyond firewalls)
  • Smart-TVs allow you to do video conferences without infrastructure or service running in the back (if there’s a browser – there’s a way!)
  • WebRTC might change the face of Social Media platforms such as Facebook, LinkedIn and Twitter completely if implemented (why not quickly talk about it?)
  • Instead of displaying phone numbers to your common window-shopper, it uses an QR-code or a NFC, so users can reach directly to you with their smartphone or tablet (we got a camera, a mic, a speaker – so let’s use them!)
WebRTC Browser Supports

WebRTC is in the top 6% among one of the most popular tags on Stack Overflow and  Ranked 2,127th out of 40K tags . Although not as popular as technologies in the top 1,000, such as ember.js (264), twitter (247), and sublime text 2 (967)
The number of questions posted on Stack Overflow tagged with WebRTC is trending with very strong growth. Based on the data here, we can see quantified evidence that WebRTC is making an impact.


Peer-to-peer communications with WebRTC
The WebRTC APIs are designed to allow Javascript applications to create real-time connections with High Quality Audio, Video, and/or Data channels directly between users securely  via their browsers, or to servers supporting the WebRTC protocols.


WebRTC NATs
As the packet passes through the NAT/Firewall device, it automatically  changes the source IP and source port of the packet generate to a new source IP and source port which saves this binding between the “inside” and the “outside” source IP and source port.


Short Summary
WebRTC is an open-source project enabling plugin-free, Real Time Communications (RTC) in the Web browser. It includes the building blocks for high-quality communications such as audio,video streaming and network  components used in voice and video chat applications.
These Network web components, when implemented in a Web-browser, can be accessed through a JavaScript API, enabling developers to easily implement their own RTC web app.
WebRTC is made up of three APIs:
1. GetUserMedia (camera and microphone access)
2. PeerConnection (sending and receiving media)
3. Data Channels (sending non-media direct between browsers)

Features of WebRTC (Real-Time-Communication)
● Audio/Video Chat on the web.
● Accessed through Javascript API.
● Does not require plugins, downloads or installs.
● Works on Multiple platforms and multiple browsers.

WebRTC Working Features.   
  •    Media Streams – access to user's camera and mic
  •    PeerConnection – audio/video calls
  •    Data Channels – p2p application data transfer


Goal of WebRTC
WebRTC aims to give the development community access to high-quality, open and RTC technology. Before WebRTC, this type of Real time communication technology has only been available to large corporations who can afford the expensive licensing fees or through proprietary plugins such as an Adobe Flash. WebRTC will open the standard opportunity level for a new wave of communication via video streaming , voice, and data web applications.

Other WebRTC resources

The WebRTC Project: The WebRTC initiative is a project supported by Google, Mozilla Firefox and Opera. This Article Page is maintained by the Google Chrome team.
W3C: The WebRTC  Working Group is the official body involved in the development of WebRTC.
IETF: The Internet Engineering Task Force define as an open standards organization that is helping to develop and promote WebRTC.
HTML5 Rocks: A Google project that offers educational resources about HTML5 through tutorials, videos, and provides information on APIs that are not part of the W3C HTML5 specification.
BlogGeek.me: Blogger Tsahi Levent-Levi is an experienced telecommunications technologist who covers WebRTC.
WebRTC on Twitter: Analysis by Twitterverse is saying about WebRTC.

No comments:

Post a Comment