Learning Three.js

or WebGL for Dummies

Video Conference on Top of WebGL

This post presents WebGL Meeting, a very simple WebGL application to do webrtc call. It is a follow up of “Fun with live video on webgl”. It was presenting how to use the WebCam using WebRTC getUserMedia(). This one goes one step further and make an actual WebRTC call displayed in a WebGL scene.

In fact, it has already been done a month ago! As you can see here :) The video from the first post, ‘being on tv, watching tv’ has been answered by Ethan Hugg from cisco. My very first video reponse btw! He shows a SIP video call using an version of Chromium hacked by Suhas Nandakumar. Definitly cool stuff! WebGL Meeting is similar but run on unmodified browsers. The screencast below is short demo of it.

WebRTC progress

Using a modified browser is cool for make nice demo like this one. Nevertheless it reduces how widely the technology can spread. It is now possible to do it using opensource and mainstream browsers. This field advances so fast!

Mozilla team is working hard to make it happen as soon as possible. It is even available on mobile with Opera Mobile 12. Some “protothon” are happening about it. WebRTC is on the edge but it is definitly coming hard. The picture on the right is Chrome WebRTC team doing thumb up on WebGLMeeting at an WebRTC event for IETF 83 :)

What about the code ?

WebGLMeeting source is available on Github under MIT license. It uses three.js to handle the WebGL. It is the AppRTC app mostly unmodified, with a simple WebGL skin on top.

A post from Chrome WebRTC team recently announced “Source code to apprtc.appspot.com example app available”. The post releases the source on google code. The apprtc demo is a very simple, one-to-one, webrtc call. Go look at the source, dont be shy :) It is very small, the whole code client+server, is less than 15kbyte. It is easy to understand and deploy thanks too google App Engine.

Face tracker seeking love ?

Surprising hey ? Well the source contains a face tracker, face.html. It works rather well but it is slow. If somebody could give it more love… It is a rather naive implementation which works well but got many rooms for speed improvement. It could make face tracking, less clumsy than wearing augmented reality marker on top of your head like i did a while back :)


I got the feeling WebRTC gonna change a lot of things soon. The peer-to-peer aspect makes it super cheap to integrate live video conferences to your own sites.

That’s all folks, have fun!