Getting Started with WebRTC


Getting Started with WebRTC
eBook: $19.99
Formats: PDF, PacktLib, ePub and Mobi formats
$17.00
save 15%!
Print + free eBook + free PacktLib access to the book: $52.98    Print cover: $32.99
$49.99
save 6%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Overview
Table of Contents
Author
Reviews
Support
Sample Chapters
  • Set up video calls easily with a low bandwidth audio only option using WebRTC
  • Extend your application using real-time text-based chat, and collaborate easily by adding real-time drag-and-drop file sharing
  • Create your own fully working WebRTC application in minutes

Book Details

Language : English
Paperback : 114 pages [ 235mm x 191mm ]
Release Date : September 2013
ISBN : 1782166300
ISBN 13 : 9781782166306
Author(s) : Rob Manson
Topics and Technologies : All Books, Application Development, Other, Open Source


Table of Contents

Preface
Chapter 1: An Introduction to Web-based Real-Time Communication
Chapter 2: A More Technical Introduction to Web-based Real-Time Communication
Chapter 3: Creating a Real-time Video Call
Chapter 4: Creating an Audio Only Call
Chapter 5: Adding Text-based Chat
Chapter 6: Adding File Sharing
Chapter 7: Example Application 1 – Education and E-learning
Chapter 8: Example Application 2 – Team Communication
Index
  • Chapter 2: A More Technical Introduction to Web-based Real-Time Communication
    • Setting up communication
      • The general flow
        • Connect users
        • Start signals
        • Find candidates
        • Negotiate media sessions
        • Start RTCPeerConnection streams
      • Using WebSockets
      • Other signaling options
    • MediaStream API
    • RTCPeerConnection API
      • The caller's flow
        • Register the onicecandidate handler
        • Register the onaddstream handler
        • Register the message handler
        • Use getUserMedia to access the local camera
        • The JSEP offer/answer process
      • The callee's flow
        • Register the onicecandidate handler
        • Register the onaddstream handler
        • Register the message handler
        • Use getUserMedia to access the local camera
        • The JSEP offer/answer process
      • Where does RTCPeerConnection sit?
    • RTCDataChannel API
    • Summary
  • Chapter 3: Creating a Real-time Video Call
    • Setting up a simple WebRTC video call
    • Using a web server to connect two users
    • Setting up a signaling server
    • Creating an offer in the caller's browser
    • Creating an answer in the callee's browser
    • Previewing the local video streams
    • Establishing peer-to-peer streams
    • Stream processing options
    • Extending this example into a Chatroulette app
    • Summary
  • Chapter 4: Creating an Audio Only Call
    • Setting up a simple WebRTC audio only call
    • The HTML user interface for audio only calls
    • Adding an audio only flow to the signaling server
    • Audio stream processing options
    • Summary
  • Chapter 5: Adding Text-based Chat
    • Adding text-based chat to our video chat app
    • The HTML user interface for text-based chat
    • Adding JavaScript functions to enable chatting
    • Handling text-based chat signals on the server
    • Other text message processing options
    • Summary
  • Chapter 6: Adding File Sharing
    • Adding file sharing to our video chat app
    • The HTML user interface for file sharing
    • Adding JavaScript for enabling file sharing
    • Adding files using the <input> element
    • Adding support for drag-and-drop
    • Adding JavaScript for transferring files via WebSockets
    • Handling the file-sharing signals on the server
    • Sending a thumbnail preview before the entire file
    • Providing progress updates
    • Establishing an RTCDataChannel connection
    • Transfering files via an RTCDataChannel connection
    • Other file-sharing options
    • Summary
  • Chapter 7: Example Application 1 – Education and E-learning
    • Applying WebRTC for education and e-learning
    • Overall application architecture
      • Educators
      • Students
      • WebRTC capable browser
      • Existing or new web application
      • Signaling server
      • TURN server
      • Archive server
    • Potential issues that may be faced
      • Privacy
      • Copyright and intellectual property
      • Restrictive networks
      • Restrictive SOEs
      • Outdated student browsers
      • Interoperability
    • Benefits that can be delivered
    • The opportunity for educators
    • Summary
  • Chapter 8: Example Application 2 – Team Communication
    • Applying WebRTC for team communication
    • Overall application architecture
      • Managers
      • Team members
      • WebRTC capable browser
      • New and existing web applications
      • Signaling server
      • TURN server
      • Messaging server
    • Potential issues that may be faced
      • Privacy
      • Data security
      • Restrictive networks
      • Restrictive SOEs
      • Interoperability
      • Timezones
    • Benefits that can be delivered
    • The opportunity for managers
    • Summary

Rob Manson

Rob Manson is the CEO and co-founder of buildAR.com, the world's leading Augmented Reality Content Management System. Rob is the Chairman of the W3C Augmented Web Community Group, and an Invited Expert with the ISO, W3C, and the Khronos Group. He is one of the co-founders of ARStandards.org and is an active evangelist within the global AR and standards communities. He is regularly invited to speak on the topics of the Augmented Web, Augmented Reality, WebRTC, and multi-device platforms.

Code Downloads

Download the code and support files for this book.


Submit Errata

Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.


Errata

- 1 submitted: last submission 20 Jan 2014

For some code examples for the book, you can refer to the following link:

https://github.com/buildar/getting_started_with_webrtc/blob/master/video_call_with_chat_and_file_sharing.html

Sample chapters

You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

Frequently bought together

Getting Started with WebRTC +    Mastering Web Application Development with AngularJS =
50% Off
the second eBook
Price for both: $32.95

Buy both these recommended eBooks together and get 50% off the cheapest eBook.

What you will learn from this book

  • Discover how to offer an audio only option as an alternative
  • Create an extensible Web Socket signaling server
  • Detect which browsers support WebRTC
  • Extend your application with real-time text-based chat
  • Add rich collaboration with drag-and-drop file sharing
  • Use RTCDataChannels to share real-time data
  • Design a state-based user interface for WebRTC apps
  • Explore the options available for image and audio post-processing and analysis

In Detail

WebRTC delivers web-based real-time communication and is set to revolutionize our view of what the Web really is. Streaming audio and video from browser to browser, as well as opening raw access to the camera and microphone, is already creating a whole new dynamic web. WebRTC also introduces real-time data channels that will allow interaction with dynamic data feeds from sensors and other devices. This really is a great time to be a web developer!

Getting Started with WebRTC provides all of the practical information you need to quickly understand what WebRTC is, how it works, and how you can add it to your own web applications. It includes clear working examples designed to help you get started building your own WebRTC-enabled applications right away.

Getting Started with WebRTC will guide you through the process of creating your own WebRTC application that can be applied in a number of different real-world situations, using well documented and clearly explained code examples.

You will learn how to quickly and easily create a practical peer-to-peer video chat application, an audio only call option, and how a Web-Socket-based signaling server can also be used to enable real-time text-based chat. You will also be shown how this same server and application structure can easily be extended to include simple drag-and-drop file sharing with transfer updates and thumbnail previews.

Approach

The book will follow a step-by-step tutorial approach to construct an application that allows video conferencing and calls between two browsers and a system for sharing files among a group.

Who this book is for

This book is ideal for developers new to the WebRTC standards who are interested in adding sensor-driven, real-time, peer-to-peer communication to their web applications. You will only need basic experience with HTML and JavaScript.

Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Resources
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software