In this hackathon you will be playing with WebRTC technologies and standards for creating rich real-time communication applications. For this, in addition to using WebRTC clients, we will introduce a WebRTC infrastructure suitable for providing advanced capabilities that include group communications, recording, transcoding and media processing. This infrastructure will be based on NUBOMEDIA: a cloud Platform as a Service where you will be able to deploy, execute and scale your WebRTC applications in a seamless way.
During the hackathon we will show you how to create, deploy and manage diverse types of WebRTC applications such as the following:
- Applications recording/playing WebRTC streams.
- Group communication applications
- Applications involving media processing (e.g. augmented reality, computer vision, etc.)
This hackathon will take place in Berlin, on July 16-17th. More information about IETF’96 hackathons can be found here.
For taking full advantage to the hackathon you will need:
- Some knowledge about Node.js or Java
- A laptop with latest version of Chrome installed
- Optionally, if you want to execute your very own version of Kurento, you will be needing a Linux box (e.g. VirtualBox) with Ubuntu 14.04 installed.
The hackathon is organized in two sessions:
- Session 1 (July the 16th): Programming WebRTC applications with Kurento media server. Understanding the value of WebRTC media infrastructures.
- Session 2 (July the 17th): Deploying and scaling WebRTC applications in NUBOMEDIA.
The theory: WebRTC and Kurento
In this presentation, you will be learning the following:
- What’s a WebRTC media server and why it may be useful for your applications.
- What’s Kurento Media Server
- How to install Kurento Media Server
- How to develop applications for Kurento Media Server
- What are the APIs and features exposed by Kurento Media Server.
- How to browse Kurento Media Server documentation.
During the presentation, we will be using the Kurento documentation
The practice: Kurento Tutorials
During this interactive presentation, we will guide you through the creation of your first application based on Kurento. For this, we will be using the Kurento tutorials focusing in two of them:
- Kurento Magic-mirror: This application uses computer vision and augmented reality techniques to add a funny hat on top of the detected faces in a WebRTC stream.
- One-to-one video communication: This web application consists on a video call using WebRTC. In other words, this application provides a simple video softphone.
Your turn: using Kurento
To conclude, you will be creating your very own WebRTC application. We’ll be there to help you!
The theory: The cloud and NUBOMEDIA
In this presentation you will be learning the following:
- Why stand-alone media servers do not scale.
- What’s a WebRTC cloud API
- What’s a WebRTC PaaS
- What’s NUBOMEDIA and what’s the relation between NUBOMEDIA and Kurento.
- How to use NUBOMEDIA for deploying your Kurento applications.
If you want to dig deeper into this concepts, you may check the following sources of information:
- This blog post provides a good starting point to NUBOMEDIA.
- The developer guide is the official reference for developers using NUBOMEDIA.
The practice: NUBOMEDIA Tutorials
During this interactive presentation, we’ll show you how to deploy your WebRTC applications in NUBOMEDIA. For this we’ll be using two examples:
- NUBOMEDIA Magic-mirror. From a functional point, this application is the same than the Magic-mirror based only in Kurento. But this version of the application has been implemented to be executed inside NUBOMEDIA, and so, it can scale in and out automatically. Please read carefully this tutorial in order to understand the difference between a Kurento and NUBOMEDIA application.
- NUBOMEDIA Room. This application is an example of usage of one the high level APIs provided out of the box by NUBOMEDIA: the Room API. This API enables application developers functionalities to create group communication applications adapted to real social interactions.
Your turn: using NUBOMEDIA
This is the final step of this 2-days hackathon. You have learned how to implement Multimedia applications with advanced features thanks to Kurento. In addition, with NUBOMEDIA the deployment and leverage of your application becomes very simple. Now, this is your turn to imagine an application useful for final users. Happy coding!