Tag Archives: WebRTC

How to Build an Android WebRTC Video and Voice Chat App

How to Build an Android WebRTC Video and Voice Chat App
// PubNub

We wanted to extend the power of WebRTC to mobile, and in this tutorial, we show you how to build a native video and voice Android WebRTC application. Good news is, just released our new Android WebRTC signaling API, enabling you to build cross-platform web and mobile WebRTC applications.

And along with the API release, our tutorial Building an Android WebRTC Video Chat App on Realtime Weekly, a full code walkthrough on building a mobile chat app. In essence, we’ll build Skype for Android.


In specific, the tutorial covers:

  • Signaling to establish call connection
  • Building the mobile UI
  • Receiving incoming calls
  • Realtime ‘buddy list’ of available call recipients
  • In-app text messaging

Cross-platform WebRTC Video Chat

The Android WebRTC SDK is fully compatible with our JavaScript WebRTC SDK, making our Android app cross-platform. No additional technology is required for mobile-to-web and web-to-mobile video and voice communication.

WebRTC is already a flexible, lightweight API for web-based communication, so when combined with our new Android SDK, you have the makings for a powerful communication app for web and mobile users alike.

Head over to our web demo and send and receive calls to the Android application. Open it up in two browsers, and check out the realtime signaling in-action.

The post How to Build an Android WebRTC Video and Voice Chat App appeared first on PubNub.

Simple Match Making Server using WebRTC

via Simple Match Making Server using WebRTC.

With my Ultimate Tic-Tac-Toe Game I’ve already tackled how to let users manually connect to each other with a unique ID. But now it’s time to take it a step further, how do you make it so users can connect with someone they don’t know? I figured it out in only a couple lines of JavaScript.

Part 1: WebRTC Video Chat in 20 Lines of JavaScript

via WebRTC Video Chat in 20 Lines of JavaScript (Part 1) – PubNub.

WebRTC, so hot right now. If you haven’t heard of it, WebRTC (Web Realtime Communications) is an API that enables peer-to-peer video, audio, and data communication in a web browser with no plugins, frameworks, or applications required.

In this tutorial, we’ll start by building a very simple video chat application that only requires around 20 lines of JavaScript. Our application will enable users to enter a username and call another user between browsers. In our next part, we’ll add some cool features to bolster our WebRTC video app.

Check out the live WebRTC video chat demo here, open up two windows, and watch it in action!

And if you want to check out the project code for the tutorial series, it’s available here. 

And the project code for this specific project here.

That’s right! Let’s get to it.

The Dawn of WebRTC

via The Dawn of WebRTC.

Web Real-Time Communications (WebRTC) was built to provide developers with the ability to create high definition video and audio calls using simple JavaScript APIs. These APIs are embedded directly in the browser and require no plugins, downloads, or installation of any type to get you up and running.

Google spent about $200 million to open source the technology giving it to the development community. WebRTC uses several codecs for video and audio giving anyone the ability to create next generation communication apps without the need to pay for licensing or royalties.

Getting a list of media devices using javascript

Getting a list of media devices using javascript
How to get a list of media devices and specify a device to use in WebRTC using Javascript.

Developing with Native Client

via Developing with Native Client – The Buzz.

Native Client is an open-source technology that allows developers to run compiled code in a browser, while maintaining the portability and safety that we all expect from web applications.

As of this writing, Google Chrome is the only browser that supports this technology, and the apps must be built using either C or C++. However, even with the limited support and language options, it’s still a compelling option.  There’s a great example of this in my last post on WebRTC.

To start developing using Native Client in a Windows environment, unzip the SDK, install Python v2.7 and with a few new system environment variable updates, you’ll be in business. Once complete, navigate to the SDKs example folders and run the ‘make’ batch files to compile the resulting .pexe file.

Using this file, combined with the .nmf manifest file, your web server can distribute a portable native client module solution to every Chrome browser navigating to your site.

Note: I’ll be talking about portable native client modules below. The differences between a portable and normal native client module can be found here.

meshJS: ommon, streamable interface for synchronizing data

via mojo-js/mesh.js · GitHub.

Mesh is a universal interface for communicating with data sources whether it’s your API, mongodb, pubnub, webrtc, socket.io, redis, or local storage. Easily build sophisticated features such as offline-mode, realtime data, rollbacks, and more with little effort.

Mesh is entirely customizable, and doesn’t make assumptions about how a data source works. You can easily build your own API adapter that’s interoperable with all the other mesh plugins.