WebRTC Blueprints
eBook - ePub

WebRTC Blueprints

  1. 176 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

WebRTC Blueprints

Book details
Book preview
Table of contents
Citations

About This Book

In Detail

This book introduces you to WebRTC and how you can utilize its open API. Each chapter covers a new concept of the technology with thoroughly explained code examples of completed applications to help you learn quickly and efficiently.

You will learn about the client and server sides of a WebRTC application in a practical manner, as well as how to implement data exchange between peers using the WebRTC Data API. The book also guides you through how to develop applications for desktop sharing and prerecorded video streaming. The book also teaches you how to use HTTPS with a WebRTC application and why it can be useful. You will also learn how to implement authentication in an application and integrate it with your own TURN server.

Approach

This book is a step-by-step project-based guide that aims to teach you how to develop your own web applications and services with WebRTC in a concise, practical manner.

Who this book is for

If you are a WebRTC developer and want to build complex WebRTC applications and projects, or if you want to gain practical experience in developing web applications, advanced WebRTC media handling, Server and client signalling, call flows, third party integration, then this book is perfect for you. It is essential to have prior knowledge about building simple applications using WebRTC.

Frequently asked questions

Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes, you can access WebRTC Blueprints by Andrii Sergiienko in PDF and/or ePUB format, as well as other popular books in Business & Digital Marketing. We have over one million books available in our catalogue for you to explore.

Information

Year
2014
ISBN
9781783983100
Edition
1

WebRTC Blueprints


Table of Contents

WebRTC Blueprints
Credits
About the Author
Acknowledgments
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why subscribe?
Free access for Packt account holders
Preface
What is WebRTC?
Supported platforms and devices
Codecs that are supported in WebRTC
Why should I use WebRTC?
Applications you can easily build using WebRTC
More ideas
Benefits of using WebRTC in your business
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Developing a WebRTC Application
Establishing a peer-to-peer connection
The Session Description Protocol
ICE and ICE candidates
NAT traversal
WebSocket
Preparing the environment
Installing Erlang
Installing Rebar
Configuring a web server
A simple p2p video conference – the browser application
Developing a WebRTC API adapter
Developing a WebRTC API wrapper
Developing an index page
Local and remote video objects
A simple p2p video conference – the server application
The application description file
The application module
The server supervisor
The WebSocket handler
Developing a configuration script for Rebar
Compiling and running the signaling server
Let's start the conference!
Configuring and installing your own STUN server
Summary
2. Using the WebRTC Data API
Introducing the Data API
Introducing protocols
Introducing HTML5
Introducing the HTML5 File API
Known limitations
Preparing the environment
A simple file-sharing service – the browser application
The WebRTC API wrapper
Developing the main page of the application
Running the application
Summary
3. The Media Streaming and Screen Casting Services
Preparing our environment
Using HTTPS and SSL
Configuring a WebSocket proxy
The web browser configuration
Preparing a media file
Developing the application
Developing a signaling server
Limitations
The media streaming and screen casting service
Developing a WebRTC API wrapper
Creating the application's index page
Starting the application and testing it
Summary
4. Security and Authentication
Preparing our environment
Signaling
Using STUN and TURN
Using the TURN authentication
The TURN transport layer
The TURN REST API
Using web-based identity providers
Deploying the TURN server
Configuring HTTPS and self-signed certificates
Configuring the server's firewall
Configuring the TURN server
The TURN REST API flag
Integrating the TURN server with our application
Improving the signaling server
Improving the JavaScript browser-side code
Starting the application and testing
Summary
5. Mobile Platforms
Preparing the environment
Supporting WebRTC on mobile platforms
Android
iOS
Windows Phones
Blackberry
Utilizing WebRTC via a native browser
Utilizing WebRTC using browser applications
Developing native mobile applications
Looking at WebRTC on mobile platforms
Hardware
Environment
Using third-party libraries and SDKs
Building a WebRTC native demo application
Building a WebRTC demo application for Android
Configuring the build environment
Obtaining the source code
Installing Oracle JDK
Preparing for compilation
Installing Android Development Tools
Compiling the code
Running the Android demo application on an emulator
Running the Android demo application on your device
Testing the Android demo application
Building a WebRTC demo for iOS
Preparing the environment
Creating a work directory
Downloading the source code
Getting the chromium depot tools
Downloading the WebRTC source code
Building and running a demo application on the iOS 7 simulator
Building and running a demo application on the iOS device
Fixing possible issues in iOS 7
Changing the code
Summary
Index

WebRTC Blueprints

Copyright © 2014 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: May 2014
Production Reference: 1080514
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78398-310-0
www.packtpub.com
Cover Image by Manu Gangadhar ()

Credits

Author
Andrii Sergiienko
Reviewers
Alessandro Arrichiello
AntĂłn RomĂĄn Portabales
Commissioning Editor
Usha Iyer
Acquisition Editors
Kevin Colaco
Rubal Kaur
Content Development Editor
Manasi Pandire
Technical Editors
Krishnaveni Haridas
Manal Pednekar
Copy Editors
Dipti Kapadia
Kirti Pai
Stuti Srivastava
Project Coordinator
Sanghamitra Deb
Proofreaders
Stephen Copestake
Maria Gould
Ameesha Green
Paul Hindle
Indexer
Monica Ajmera Mehta
Graphics
Disha Haria
Yuvraj Mannari
Production Coordinators
Nilesh Bambardekar
Arvindkumar Gupta
Cover Work
Nilesh Bambardekar
Arvindkumar Gupta

About the Author

Andrii Sergiienko is a computer software developer from Ukraine, who is passionate about information technologies and traveling. He has lived in different places and seen different kinds of cultures. Over the years, he has lived in Russia, Belarus, Mongolia, Buryatia, and Siberia. He likes to travel across Europe by auto.
From his early childhood, Andrii was interested in computer programming and hardware; he took his first steps in these fields more than 20 years ago. Andrii has experience with a wide set of languages such as C, C++, Java, Assembler, Erlang, JavaScript, and PHP. He has also worked with technologies such as Riak, shell scripting, computer networks, and security.
In his career, Andrii has worked for both small local companies such as domestic ISPs and large world corporations such as Hewlett Packard. He has also started his own companies, some of which were relatively successful; others failed.
Today, Andrii is the founder of Oslikas, a computer software company that has its headquarters in Estonia. The company is focused on modern IT technologies and solutions. They also develop a full-stack framework to create rich media WebRTC applications and services. You can read more about Oslikas at http://www.oslikas.com.

Acknowledgments

Working on this book was a really great and interesting experience for me, full of brainstorming and emotions. All this would definitely be impossible without the help of certain people. This is the time to say thank you.
First of all, I would like to thank my parents, Olga and Alexander, for providing me with a happy childhood that shaped my future and my career.
I would like to thank my wife, Inna, for her...

Table of contents

  1. WebRTC Blueprints