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.
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.
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.
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: https://github.com/andyet/signalmaster/.
Introducing the example. Node.js and socket.io 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.
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.