WebRTC, Web Real-Time Communications, is revolutionizing the way web users communicate, both in the consumer and enterprise worlds. WebRTC adds standard APIs (Application Programming Interfaces) and built-in real-time audio and video capabilities and codecs to browsers without a plug-in. With just a few lines of JavaScript, web developers can add high quality peer-to-peer voice, video, and data channel communications to their collaboration, conferencing, telephony, or even gaming site or application. New for the Third Edition The third edition has an enhanced demo application which now shows the use of the data channel for real-time text sent directly between browsers. Also, a full description of the browser media negotiation process including actual SDP session descriptions from Firefox and Chrome. Hints on how to use Wireshark to monitor WebRTC protocols, and example captures are also included. TURN server support for NAT and firewall traversal is also new. This edition also features a step-by-step introduction to WebRTC, with concepts such as local media, signaling, and the Peer Connection introduced through separate runnable demos. Written by experts involved in the standardization effort, this book contains the most up to date discussion of WebRTC standards in W3C and IETF. Packed with figures, example code, and summary tables, this book is the ultimate WebRTC reference. Table of Contents 1 Introduction to Web Real-Time Communications 1.1 WebRTC Introduction 1.2 Multiple Media Streams in WebRTC 1.3 Multi-Party Sessions in WebRTC 1.4 WebRTC Standards 1.5 What is New in WebRTC 1.6 Important Terminology Notes 1.7 References 2 How to Use WebRTC 2.1 Setting Up a WebRTC Session 2.2 WebRTC Networking and Interworking Examples 2.3 WebRTC Pseudo-Code Example 2.4 References 3 Local Media 3.1 Media in WebRTC 3.2 Capturing Local Media 3.3 Media Selection and Control 3.4 Media Streams Example 3.5 Local Media Runnable Code Example 4 Signaling 4.1 The Role of Signaling 4.2 Signaling Transport 4.3 Signaling Protocols 4.4 Summary of Signaling Choices 4.5 Signaling Channel Runnable Code Example 4.6 References 5 Peer-to-Peer Media 5.1 WebRTC Media Flows 5.2 WebRTC and Network Address Translation (NAT) 5.3 STUN Servers 5.4 TURN Servers 5.5 Candidates 6 Peer Connection and Offer/Answer Negotiation 6.1 Peer Connections 6.2 Offer/Answer Negotiation 6.3 JavaScript Offer/Answer Control 6.4 Runnable Code Example: Peer Connection and Offer/Answer Negotiation 7 Data Channel 7.1 Introduction to the Data Channel 7.2 Using Data Channels 7.3 Data Channel Runnable Code Example 7.3.1 Client WebRTC Application 8 W3C Documents 8.1 WebRTC API Reference 8.2 WEBRTC Recommendations 8.3 WEBRTC Drafts 8.4 Related Work 8.5 References 9 NAT and Firewall Traversal 9.1 Introduction to Hole Punching 9.3 WebRTC and Firewalls 9.3.1 WebRTC Firewall Traversal 9.4 References 10 Protocols 10.1 Protocols 10.2 WebRTC Protocol Overview 10.3 References 11 IETF Documents 11.1 Request For Comments 11.2 Internet-Drafts 11.3 RTCWEB Working Group Internet-Drafts 11.4 Individual Internet-Drafts 11.5 RTCWEB Documents in Other Working Groups 11.6 References 12 IETF Related RFC Documents 12.1 Real-time Transport Protocol 12.2 Session Description Protocol 12.3 NAT Traversal RFCs 12.4 Codecs 12.5 Signaling 12.6 References 13 Security and Privacy 13.1 Browser Security Model 13.2 New WebRTC Browser Attacks 13.3 Communication Security 13.4 Identity in WebRTC 13.5 Enterprise Issues 14 Implementations and Uses INDEX ABOUT THE AUTHORS
Originally from Australia, Alan B. Johnston grew up in the United States surrounded by technology. Always going to become an engineer, he experimented with amateur radio, coding and creative writing from an early age, and traveled the world with his family. He has a doctorate in electrical engineering, and has worked in industry and taught at a number of universities. He has written five best-selling technical books and authored over thirty patents and international standards in real-time communications over Internet Protocol and in security, including co-authoring the ZRTP voice security protocol standard. He enjoys mentoring robotics teams and hacking around with Arduinos and Raspberry Pis. He lives near Seattle and continues to travel the world, ride motorcycles, and sail. Returning to Zero is his second novel, the continuation of the story of Mick O’Malley and the botnet started in his first novel Counting from Zero.
Jared read this one, so here is what he had to say: The book is an excellent introduction to Real Time Communication via the web. As someone who has an interest in how new innovations in technology can be used to in our lives. The first part of the book was very informative about the what’s and how’s of RTC. The second half of the book is perhaps a little too advanced for me and will be something to which I aspire.
A very informative book and surprisingly easy to understand. I think it's an excellent introduction for anyone interested in Real time Communication via web. I was by no means an expert before reading it, but now I'm looking forward to an opportunity to use the things I've learned in practice. I'll definitely keep this book at hand for future reference.
Disclaimer: I received this book from Goodreads Giveaway.
Before reading this book I had only a rough idea of what the APIs of WebRTC could mean for the web. The authors go into as much depth as is possible at this time (As WebRTC is in ongoing development) as to how easily one could incorporate WebRTC into everyday web development. It really is amazing what is possible with only a few lines of JavaScript.
Excellent book, very well written and informative, as with all books of this nature some parts a little too advanced for me at this stage however the great thing with books like this is I can keep it to hand and easily refer back. Thanks
This book was great for learning WebRTC, I felt that some topics were a little to advanced for web developers looking to me but in general, this book taught me how to use the API.