官术网_书友最值得收藏!

What is WebRTC?

Web Real-Time Communication (WebRTC) is a new (still under development) open framework for the Web to enable browser-to-browser applications for audio/video calling, video chats, and peer-to-peer file sharing without any additional third-party software/plugins.

It was open sourced by Google in 2011 and includes the fundamental building components for high-quality communication on the Web. These components, when implemented in a browser, can be accessed through a JavaScript API, enabling developers to build their own rich media web applications. Google, Mozilla, and Opera support WebRTC and are involved in the development process.

The following are the major components of the WebRTC API:

  • getUserMedia: This component allows a web browser to access the camera and microphone
  • PeerConnection: This component sets up audio/video calls
  • DataChannels: This component allows browsers to share data through peer-to-peer connections

The WebRTC technology contains a complete stack for voice communications, which includes all the necessary codecs. In addition, it provides software-based AEC (acoustic echo cancellation), AGC (automatic gain control), and noise reduction/suppression.

WebRTC also provides the following modern and powerful possibilities to utilize video communications:

  • The VP8 codec
  • Conceal packet loss
  • Clean up noisy images
  • Capture and playback capabilities

Peer-to-peer connections can be established using the built-in key NAT/firewall traversal technology using ICE/STUN/TURN and support proxies. So, you don't need to use any special third-party technologies to build a peer-to-peer communication between the customers located behind a firewall or NAT.

To help mitigate the effects of packet loss and unreliable networks, WebRTC supports dynamic jitter buffers and error concealment techniques for audio or video communications.

Supported platforms and devices

WebRTC is a very new technology and is still being developed. Thus, right now, there are still platforms and web browsers that don't support it at all yet or support partially.

WebRTC is supported in the following desktop browsers:

  • Google Chrome Version 23 and higher
  • Mozilla Firefox Version 22 and higher
  • Opera Version 18 and higher
  • Internet Explorer doesn't support WebRTC yet, but this can be solved using the Chrome Component for IE

At the time of writing this book, the web browser WebRTC API is natively supported only in the Android platform.

  • Google Chrome Version 29 and higher
  • Mozilla Firefox Version 24 and higher
  • Opera Mobile Version 12 and higher
  • Google Chrome OS

Codecs that are supported in WebRTC

For audio calls, the supported codecs are Opus, G.711, G.722, iLBC, and iSAC.

For video communication, VP8 is the only supported codec at the moment.

Considering that WebRTC is still under development, the list of supported codecs may change in the future.

Why should I use WebRTC?

Currently, there are no easy-to-use, high quality, and complete solutions available that would enable communication using just a web browser. Until today, if you wanted to build a rich media cross-platform web application, you had to use Flash, Java Applets, and a bunch of third-party plugins to make it work. Such solutions usually are heavyweight and difficult to implement and support.

This leads to a situation where we have Internet access in almost every apartment across the world, but we still don't have a simple and effective solution for audio/video rich media applications.

WebRTC is a technology that is intended to solve this situation. It is already integrated with the best voice and video engines that have been deployed on millions of end points over recent years.

With this technology, you can use a universal API and a set of built-in technologies and components to build your applications, and you don't need to keep in mind a bunch of platforms and operating systems you would like your application to support.

Applications you can easily build using WebRTC

The following are the applications you can easily build using WebRTC:

  • Peer-to-peer audio/video conferences
  • Pre-recorded video streaming
  • Desktop screen casting
  • Peer-to-peer file sharing and transferring

More ideas

  • An interactive language school
  • Webinars
  • A job interview service
  • A distributed radio broadcasting service
  • A distance learning school
  • An interactive dating service

Again, you don't need to use any additional software or libraries. You have to use just the WebRTC API supported by most web browsers today. It works great for Windows, Linux, or Mac OS X without special efforts from the developer.

I believe that after reading this book, you'll want to build your next interactive media web application using WebRTC.

Benefits of using WebRTC in your business

The following are the benefits of using WebRTC in your business:

  • Reducing costs: WebRTC is a free and open source technology. You don't need to pay for complex proprietary solutions. IT deployment and support costs can be lowered because now you don't need to deploy special client software for your customers.
  • Plugins: You don't need plugins at all. Previously, you had to use Flash, Java Applets, and other tricky solutions to build interactive rich media web applications. Customers had to download and install third-party plugins to be able to use your media content. You also had to keep in mind different solutions/plugins for a variety of operating systems and platforms. Now you no longer need to care about this.
  • Peer-to-peer communication: In most cases, communication will be established directly between your customers and you don't need to have a middle point of contact.
  • Easy to use: You don't need to be a professional programmer or have a team of certified developers with some kind of specific knowledge. In a basic case, you can easily integrate the WebRTC functionality into your web services/sites by using the JavaScript API or even by using a ready-to-go framework.
  • A single solution for all platforms: You don't need to develop a special native version of your web service for different platforms (iOS, Android, Windows, and others). WebRTC is developed to be a cross-platform and universal tool.
  • WebRTC is open source and free: A community can discover new bugs and solve them effectively and quickly. Moreover, it is developed and standardized by the world software companies such as Mozilla, Google, and Opera.
主站蜘蛛池模板: 云浮市| 金寨县| 洛扎县| 沁源县| 德江县| 崇礼县| 五华县| 都安| 石泉县| 潮州市| 临漳县| 扬州市| 荔浦县| 海丰县| 丹凤县| 伊金霍洛旗| 南江县| 阜城县| 鹿泉市| 临城县| 安达市| 吴江市| 高淳县| 沛县| 曲周县| 和静县| 读书| 平山县| 诸暨市| 濮阳市| 莱西市| 塔河县| 平安县| 华阴市| 施秉县| 菏泽市| 扬州市| 伊宁县| 淮滨县| 怀安县| 蓝田县|