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.
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.
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.
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.
While learning a new technology, one of most important things is to properly use all the tools that it can give us.
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.
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.
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.
After understanding the WebRTC PeerConnection object, we’ll see how to manage data channels and what we need to change in the code.
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.
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.