WebRTC is Awesome

In BigBlueButton HTML5 Client, we are going to use WebRTC to receive and broadcast video and audio streams. WebRTC is a free, open project that enables web browsers with Real-Time Communications (RTC) capabilities via simple Javascript APIs. Many web services already use RTC, but need downloads, native apps or plugins. These includes Skype, Facebook (which uses Skype) and Google Hangouts (which use the Google Talk plugin). WebRTC APIs are open source, free, standardized, built into web browsers and more efficient than existing technologies.

WebRTC APIs and Supported Browsers

  • MediaStream and getUserMedia
  • Chrome desktop 18.0.1008+; Chrome for Android 29+
    Opera, Opera Mobile 12
    Firefox 17+

  • RTCPeerConnection
  • Chrome desktop 20+; Chrome for Android 29+
    Firefox 22+

  • RTCDataChannel
  • Experimental version in Chrome 25, more stable in Chrome 26+; Chrome for Android 29+
    Firefox 22+

    WebRTC support is available for Internet Explorer via Chrome Frame

    WebRTC Application using Node.js and Socket.io signaling

    Node.JS is an asynchronous, server-side JavaScript engine powered by Chrome’s V8 JS engine. Asynchronous is key for the nature of WebRTC because everything is an asynchronous event i.e. signaling, incoming/outgoing calls, presence, chat, etc. In addition to asynchronous, these events need to be handled in real-time. Websockets allow servers to push data to the browser as events occur allowing for realtime notifications, chats, calls, presence changes, etc. As the result, the combination of Node.js, Socket.io, and WebRTC is the ideal choice for BigBlueButton HTML5 Client.

    This entry was posted in open-source. Bookmark the permalink.

    Leave a Reply

    Fill in your details below or click an icon to log in:

    WordPress.com Logo

    You are commenting using your WordPress.com account. Log Out /  Change )

    Google photo

    You are commenting using your Google account. Log Out /  Change )

    Twitter picture

    You are commenting using your Twitter account. Log Out /  Change )

    Facebook photo

    You are commenting using your Facebook account. Log Out /  Change )

    Connecting to %s