Learning WebRTC Application Development
3.1 (20 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.
199 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Learning WebRTC Application Development to your Wishlist.

Add to Wishlist

Learning WebRTC Application Development

Create fast and easy video chat applications the WebRTC way
3.1 (20 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.
199 students enrolled
Created by Packt Publishing
Last updated 2/2015
Current price: $10 Original price: $75 Discount: 87% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 2.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • 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
View Curriculum
  • This course will help put your server-side development, HTML, and JavaScript skills to use to build powerful applications.

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.

Who is the target audience?
  • This course is for developers who would like to build applications based on peer-to-peer communication.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
30 Lectures
Introducing WebRTC
3 Lectures 20:28

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

Course Overview

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.

Example Scenarios

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.

Network Protocols Involved
Backend Configuration - Google App Engine
5 Lectures 21:38

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.

Preview 03:55

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.

Eclipse Configuration

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.

Obtaining a Google App Engine App’s ID

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.

Common Usage of the GAE Channel API

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.

Creating a First Backend App - Hello World
Basic Uses of the WebRTC API
3 Lectures 18:17

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

Preview 05:59

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.

Establishing a P2P Connection - the PeerConnection API

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

Handling Errors Correctly
Create Our First WebRTC App - Part 1 (Backend)
4 Lectures 23:43

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

Preview 06:51

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

Creating Dynamic IDs to Manage Users’ Sessions

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

Service Core Development

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

App Engine Services and URL Mapping
Create Our First WebRTC App - Part 2 (Frontend)
5 Lectures 19:18

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.

Preview 03:56

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

Opening the Google App Engine Channel

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

Request Media Access

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

Start Communication Using PeerConnection Object

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

App Test - Video and Sound Check
WebRTC Data Channel
3 Lectures 12:24

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

Preview 04:08

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

WebRTC Data Channel How-to

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

Use Case Scenarios and Supported Browsers
Easy Implementation of Chat and File Sharing
3 Lectures 19:10

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

Preview 05:17

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

Handling P2P Chat Systems

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

Developing Simple File Sharing Tools
The Existing WebRTC Wrappers
4 Lectures 18:35

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

Preview 03:02

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

PeerJS - Easy Peer Connections and Data Channels

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

SimpleWebRTC - Build Cool Stuff with WebRTC

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

Examples and Real Projects
About the Instructor
Packt Publishing
3.9 Average rating
8,175 Reviews
58,788 Students
686 Courses
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.