Developing Real Time Applications with WebRTC

Leverage the power and simplicity of WebRTC to rapidly build a real time communication app
2.6 (6 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.
115 students enrolled
80% off
Take This Course
  • Lectures 18
  • Length 1.5 hours
  • Skill Level Beginner Level
  • 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 10/2015 English

Course Description

WebRTC is the central standard for the development of web-based real-time communication applications, delivering the capability of seamlessly integrating peer-to-peer audio and video communication. The WebRTC protocol removes the typical barriers to web-based real-time communication by providing an array of enabling APIs which overcome variances in browser capability and platform, simplifying accessibility for developers, and end users.

This video course will equip you with the understanding to quickly develop a complete WebRTC application, ready to be integrated into your own web application. If you’re interested in creating a video application with WebRTC , this video delivers a strong example application which you can use, whilst laying the foundation for you to develop more complex instances in the future.

This courses opens with an introduction to WebRTC, placing it in context of similar technologies in the web environment, before diving into an exploration of key WebRTC APIs.

After detailing the main API utilities, we’ll examine various signalling approaches before designing two servers, one for serving our example, and another one for providing signalling. At this point, we'll put all the pieces together to create a fully functional, real-time communication application.

The final section of this video course focuses on debugging and improving WebRTC applications treating other frameworks and developer tools which can be used to this end, with modern techniques employed by experienced developers.

By the time you complete this video course, you will understand the fundamentals of WebRTC and its array of powerful APIs, with the ability to establish real-time video conferencing functionality over the web, with whoever you want.

About The Authors

Andrés Estévez works as Head of Development for Quobis. He has almost ten years of experience on multimedia-based jobs. First, related to consumer electronics and embed devices, and now trying to bring that knowledge back to the basis of WebRTC.

Antón Román Portabales works as CTO for Quobis. He is involved in development and first industry deployments of WebRTC-based systems and has an active role interacting with vendors, operators, and the rest of the industry to leverage WebRTC to offer new services and solutions. Anton is getting involved in standardization activities at the IETF and participated as a reviewer in the edition of two books about WebRTC.

Atul Pundhir has been a full-stack developer for about 8 years. Being a full-stack developer, he has worked on various cutting edge technologies on frontend, backend, and database sites. He has been involved in developing projects in WebRTC since 2012. He holds a master’s degree in computer management.

Simón Roca is a Telecom engineer, currently studying, who has been working for Quobis, and learning about WebRTC commercial applications and WebRTC internal operating. He is exposing a WebRTC thesis in May 2015.

What are the requirements?

  • Experience with HTML and JavaScript is assumed.

What am I going to get from this course?

  • Develop a fully functioning, real-time communication application with WebRTC
  • Discover the various use cases for WebRTC, including video conferencing, and more
  • Master the functions and objects defined in the WebRTC API for easy control over your application
  • Understand the network process for establishing sessions, and determine a signalling solution adapted to your preferred protocols
  • Discover how to incorporate JavaScript within WebRTC applications, and get up to speed with key developer tools to enhance the efficiency of your project.

Who is the target audience?

  • This course is for developers who want a fast-paced introduction to building real-time media services using modern peer-to-peer communication standards.

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: Introduction to WebRTC

Introducing the full outline from the course.


A short introduction to WebRTC, its chronology, and some things we can do with it.


We will analyze how WebRTC is different from older technologies such as Flash and Java, and the pros and cons of web apps versus desktop apps.


WebRTC requires a compatible web browser. A nice source code editor is recommended.

Section 2: The WebRTC API

Introducing the basic elements of the API that will make communication using WebRTC possible.


Checking a basic example of calling the GetUserMedia method on Chrome, keeping in mind that some browsers may not have the functionality or the standard notation.


Another example referring to the way the implied peers tell each other which capabilities, parameters, and other sets can be used.


SDPs and other pieces of information about sessions are needed to go through firewalls and NAT routers, which translate between private and public IPs.

Section 3: Signaling

WebRTC doesn’t provide signaling by itself—is this a good thing or a bad one?


SIPoWS, XMPPoWS, and JSONoWS are the different protocols that can work with WebRTC, providing signaling.


We come back to the reasons we gave for using signaling (connecting the peers before negotiation), and we explain how signaling solves the problem.


We will use an example called signalmaster, available at the GitHub repository:

Section 4: Putting It All Together — Your First Application

Introducing the example. Node.js and as tools for the example. Getting our media and creating a room.


Joining a room. Sending SDPs as offer and answer. Then, negotiating ICE candidates.


We will establish a connection and discuss changes for a generic solution, and introducing DataChannels along the way.

Section 5: Debugging and Improving Our Application

Introducing the main tools available for debugging WebRTC apps.


Exploring the JavaScript console inside your browser


Using the Chrome and Firefox internal tabs to monitor WebRTC streams

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