Learning WebRTC Application Development

Create fast and easy video chat applications the WebRTC way
4.0 (15 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
169 students enrolled
80% off
Take This Course
  • Lectures 30
  • Length 2.5 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 2/2015 English

Course Description

This video course will help you learn the fundamentals of developing real-time communication systems using WebRTC.
Start right from the basics of the WebRTC standard that includes the signaling channels such as the Google App Engine. Develop file sharing functionalities and transfer media content from your mic and webcam for a better user experience. Finally, you will discover WebRTC wrapper libraries that will help you integrate the technology in your existing application within seconds.
By the end of the course, you will have a fully working application that enables real-time browser-to-browser communication.

About the Author

Alessandro Arrichiello is a computer enthusiast; he graduated in Computer Engineering at Federico II Naples University. He has a passion and knowledge for GNU/Linux systems that began at the age of 14 and continues today. He is an independent Android developer on the Google Play Store and has strong knowledge of C++, the Java language, and derivatives. He also has experience with many other kinds of interpreted languages like Perl, PHP, and Python. Alessandro is a proud open source supporter and he started and contributed to many collaborative projects developed for academic purposes. Recently he enriched his knowledge on network monitoring, focusing on penetration testing and network security in general. At the moment, Alessandro is working as software engineer in the Communications and Media Solutions group of Hewlett Packard in Milan, Italy. He’s involved in many business projects as developer and technology consultant.

What are the requirements?

  • This course will help put your server-side development, HTML, and JavaScript skills to use to build powerful applications.

What am I going to get from this course?

  • Grasp the concepts of signaling channels using WebSockets
  • Utilize your mic and webcam in your application
  • Create a data channel and develop a file sharing tool
  • Implement the WebRTC Data API to develop file sharing and chat functionalities for any page on the Web
  • Use the acquired knowledge to choose existing WebRTC wrappers that best fit your needs

Who is the target audience?

  • This course is for developers who would like to build applications based on peer-to-peer communication.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Introducing WebRTC

Multimedia communication over the Internet has always required well-defined installed software. WebRTC aims to be the standard solution without any additional software installation.


Many new projects and technologies have to wait many years before they become features-rich. This is not true for WebRTC, which has gained support from a large number of developers, companies, and foundations.


One of the most important part of multimedia communication is the establishment of connections. WebRTC handles all the processes for us, finding the best method for avoiding NAT/Firewall limitations. After correctly establishing a network connection, it’s fundamental for the both parts to handshake codecs that will be used for multimedia communication. WebRTC takes care of this hard part for us.

Section 2: Backend Configuration - Google App Engine

Even if WebRTC is a well-known standard, finding a way to build a backend can be really difficult. We will learn how simple this can be using Google App Engine to create a backend that will handle inter-communication between two clients.


We don’t need special stuff or pay for licenses; all the software used during this course will be open source and freely available on the Net.


There aren’t special APIs and configurations to learn; we only have to follow a simple web procedures, take the just-generated ID, and place it in our eclipse configuration.


Forget about defining all the complex use cases for handling a data channel. Google App Engine takes charge of complex things and lets us take care of only the stuff we need.


We don’t need to remember all the complex directory tree and config files to create a brand new project. Thanks to Eclipse's New Project wizard, we’ll be guided to follow the whole process.

Section 3: Basic Uses of the WebRTC API

WebRTC is a fully featured technology that relies on some the JavaScript API for better interfacing with multimedia device through web browsers.


After acquiring media access through web browsers, it is necessary to initialize a PeerConnection object through the WebRTC JavaScript API to start the communication process.


While learning a new technology, one of most important things is to properly use all the tools that it can give us.

Section 4: Create Our First WebRTC App - Part 1 (Backend)

Using the GAE Channel API, we’ll see how to correctly develop our first two servlet classes required for our backend project.


We’ll create dynamic IDs for users’ identification on groups of two participants that we’ll call room.


We’ll develop the MainServlet class that will handle the whole process of client configuration and first user connection.


We’ll see how we can finally map all the servlets we’ve just created using just one file to custom URL.

Section 5: Create Our First WebRTC App - Part 2 (Frontend)

Thanks to a bit of HTML knowledge, we’ll create a basic structure in order to render the media objects representing the current multimedia communication.


Thanks to the previously introduced API, we’ll learn how to open and correctly handle all the events from a GAE Channel.


Thanks to the previously introduced API, we’ll learn how to correctly request user media through the MediaStream API.


We’ll see how to handle incoming ICE candidates, remote streams, and signaling messages exchanged through GAE channels.


Just point the browser to the server URL and check whether the application is working fine.

Section 6: WebRTC Data Channel

With the help of some knowledge of JavaScript and server-side development, we’ll discover the main features and differences between these different technologies.


Following on from the knowledge we got from previous videos, we’ll learn how to use WebRTC API to create data channels.


Through examples, we’ll explore how the WebRTC data channels can be useful.

Section 7: Easy Implementation of Chat and File Sharing

After understanding the WebRTC PeerConnection object, we’ll see how to manage data channels and what we need to change in the code.


After creating the HTML template file and its JavaScript library, we’ll develop a fully working P2P chat system.


After creating the HTML template file and its JavaScript library, we’ll develop a fully working P2P file-sharing system.

Section 8: The Existing WebRTC Wrappers

In this section, we’ll see how and when we can use a JavaScript library wrapper for the WebRTC technology.


Understand the main usage of the PeerJS library and some examples.


Understand the main usage of the SimpleWebRTC library and some examples.


After understanding the just-introduced libraries, we’ll find out how real projects work.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Packt Publishing, Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.

Ready to start learning?
Take This Course