Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Getting Started with WebRTC

You're reading from   Getting Started with WebRTC If you have basic HTML and JavaScript, you're well on the way to adding real time, peer-to-peer communication to your web applications using WebRTC. This book shows you how through a totally practical, structured course.

Arrow left icon
Product type Paperback
Published in Sep 2013
Publisher Packt
ISBN-13 9781782166306
Length 114 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Rob Manson Rob Manson
Author Profile Icon Rob Manson
Rob Manson
Arrow right icon
View More author details
Toc

Table of Contents (15) Chapters Close

Getting Started with WebRTC
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
1. An Introduction to Web-based Real-Time Communication 2. A More Technical Introduction to Web-based Real-Time Communication FREE CHAPTER 3. Creating a Real-time Video Call 4. Creating an Audio Only Call 5. Adding Text-based Chat 6. Adding File Sharing 7. Example Application 1 – Education and E-learning 8. Example Application 2 – Team Communication Index

Index

A

  • addIceCandidate() method / Register the message handler
  • add_chat_message() function / Adding JavaScript functions to enable chatting
  • answer
    • creating / Creating an answer in the callee's browser
  • Apple
    • WebRTC, enabling / Apple
    • about / Apple
  • architecture, e-learning application / Overall application architecture
  • architecture, team communication application / Overall application architecture
  • archive server / Archive server
  • audio only call, WebRTC
    • setting up / Setting up a simple WebRTC audio only call
    • HTML user interface / The HTML user interface for audio only calls
    • flow, adding to signaling server / Adding an audio only flow to the signaling server
    • audio stream processing options / Audio stream processing options
  • audio stream processing options
    • about / Audio stream processing options

B

  • Bowser / Apple
  • Bring Your Own Device (BYOD)
    • about / Restrictive SOEs
  • browser compatibility, WebRTC
    • about / Browser compatibility
    • Chrome, on PC / Chrome and Firefox on the PC
    • Firefox, on PC / Chrome and Firefox on the PC
    • Firefox, on Android / Chrome and Firefox on Android
    • Chrome, on Android / Chrome and Firefox on Android
    • Opera / Opera
    • Microsoft / Microsoft
    • Apple / Apple
    • updates / Staying up-to-date

C

  • callee's flow, RTCPeerConnection API
    • about / The callee's flow
    • onicecandidate handler, registering / Register the onicecandidate handler
    • onaddstream handler, registering / Register the onaddstream handler
    • message handler, registering / Register the message handler
    • local camera, accessing with getUserMedia () / Use getUserMedia to access the local camera
    • JSEP offer/answer process / The JSEP offer/answer process
  • callee browser
    • answer, creating / Creating an answer in the callee's browser
  • caller's flow, RTCPeerConnection API
    • about / The caller's flow
    • onicecandidate handler, registering / Register the onicecandidate handler
    • onaddstream handler, registering / Register the onaddstream handler
    • message handler, registering / Register the message handler
    • local camera, accessing with getUserMedia() / Use getUserMedia to access the local camera
    • JSEP offer/answer process / The JSEP offer/answer process
  • caller browser
    • offer, creating / Creating an offer in the caller's browser
  • capabilities() method
    • about / MediaStream API
  • Chatroulette app
    • about / Extending this example into a Chatroulette app
    • URL / Extending this example into a Chatroulette app
  • chatting
    • enabling, JavaScript functions used / Adding JavaScript functions to enable chatting
  • chromakey effect / Stream processing options
    • URL / Stream processing options
  • Chrome, for Android
    • WebRTC, enabling / Chrome and Firefox on Android
  • Chrome, on PC
    • WebRTC, enabling / Chrome and Firefox on the PC
  • Chromium project
    • about / Opera
  • click_file_input() function / Adding files using the <input> element
  • communication, WebRTC
    • setting up / Setting up communication
    • general flow / The general flow
    • WebSocket API / Using WebSockets
    • signaling options / Other signaling options
  • communication flow
    • about / The general flow
    • users, connecting / Connect users
    • signals, starting / Start signals
    • candidates, finding / Find candidates
    • media session, negotiating / Negotiate media sessions
    • RTCPeerConnection streams, starting / Start RTCPeerConnection streams
  • connect_stream_to_src() function / Previewing the local video streams
  • connect_stream_to_src() method / Establishing peer-to-peer streams
  • connect_stream_to_src function / Using a web server to connect two users
  • copyright property
    • about / Copyright and intellectual property
  • createAnswer() method / The JSEP offer/answer process
  • createServer() function / Setting up a signaling server
  • CU-RTC-Web
    • URL / Microsoft

D

  • data security / Data security
  • dataTransfer property / Adding support for drag-and-drop
  • display_file() function / Adding JavaScript for transferring files via WebSockets
  • drag-and-drop
    • about / Adding support for drag-and-drop
  • dragover event handler / Adding JavaScript for enabling file sharing
  • drag_over() function / Adding support for drag-and-drop
  • drawImage() function / Sending a thumbnail preview before the entire file
  • drop event handler / Adding JavaScript for enabling file sharing

E

  • e-learning application
    • WebRTC, applying / Applying WebRTC for education and e-learning
    • architecture / Overall application architecture
    • elements / Overall application architecture
    • WebRTC implementing, issues / Potential issues that may be faced
    • WebRTC implementing, benefits / Benefits that can be delivered
  • e-learning application, elements
    • educators / Educators
    • Educators / Educators
    • students / Students
    • WebRTC capable browser / WebRTC capable browser
    • new web application / Existing or new web application
    • signaling server / Signaling server
    • TURN server / TURN server
    • archive server / Archive server
  • educators / Educators
    • new opportunities / The opportunity for educators
  • Educators / Educators
  • Extensible Messaging and Presence Protocol(XMPP) / Other text message processing options

F

  • files
    • adding, <input> element used / Adding files using the <input> element
    • transfering, via RTCDataChannel connection / Transfering files via an RTCDataChannel connection
  • file sharing
    • adding / Adding file sharing to our video chat app
    • HTML user interface / The HTML user interface for file sharing
    • enabling, JavaScript used / Adding JavaScript for enabling file sharing
    • drag-and-drop / Adding support for drag-and-drop
    • via WebSockets, JavaScript adding / Adding JavaScript for transferring files via WebSockets
    • signals, handling / Handling the file-sharing signals on the server
    • options / Other file-sharing options
  • file_add div / The HTML user interface for file sharing
  • file_add onclick handler / Adding JavaScript for enabling file sharing
  • file_img_src image element / The HTML user interface for file sharing
  • file_input() function / Adding files using the <input> element, Adding support for drag-and-drop, Adding JavaScript for transferring files via WebSockets
  • file_input change event handler / Adding JavaScript for enabling file sharing
  • file_input element / The HTML user interface for file sharing
  • file_list div / The HTML user interface for file sharing
  • file_sharing div / The HTML user interface for file sharing
    • elements / The HTML user interface for file sharing
  • file_thumbnail_canvas element / The HTML user interface for file sharing
  • Firefox, for Android
    • WebRTC, enabling / Chrome and Firefox on Android
  • Firefox, on PC
    • WebRTC, enabling / Chrome and Firefox on the PC
  • flow, audio only calls
    • adding, to signaling server / Adding an audio only flow to the signaling server
  • fs.readFile() function / Setting up a signaling server

G

  • getUserMedia API
    • about / MediaStream API
  • get_file_div() function / Adding files using the <input> element
  • Google AppEngine Channel API / Start signals
  • Google Hangouts / Applying WebRTC for education and e-learning

H

  • HTML user interface
    • about / The HTML user interface for text-based chat, The HTML user interface for file sharing
  • HTML user interface, audio only calls
    • about / The HTML user interface for audio only calls
  • http_server variable / Setting up a signaling server

I

  • <input> element
    • used, for adding files / Adding files using the <input> element
  • ICE Framework
    • reference link / Find candidates
  • intellectual property
    • about / Copyright and intellectual property
  • Internet Engineering Task Force (IETF)
    • about / Introducing WebRTC
  • Internet Relay Chat (IRC) / Other text message processing options
  • Internet Relay Chat (IRC) servers / Messaging server
  • interoperability
    • about / Interoperability
    / Interoperability
  • IP Multimedia Subsystem (IMS)
    • about / Messaging server

J

  • JavaScript
    • adding, to enable file sharing / Adding JavaScript for enabling file sharing
    • adding, for file sharing via WebSockets / Adding JavaScript for transferring files via WebSockets
  • JavaScript functions
    • adding, to enable chatting / Adding JavaScript functions to enable chatting
  • JSON.parse() method / Setting up a signaling server

L

  • Learning Management System (LMS) / Applying WebRTC for education and e-learning
  • listen() function / Setting up a signaling server
  • local video streams
    • previewing / Previewing the local video streams
  • log_comment function / Setting up a signaling server
  • log_error function / Setting up a signaling server

M

  • managers
    • about / Managers
    • new opportunities / The opportunity for managers
  • Massive Online Open Course (MOOC) / Applying WebRTC for education and e-learning
  • MediaElement
    • about / MediaStream API
  • MediaStream API
    • about / MediaStream API
  • MediaStream Recording
    • URL / Archive server
  • messaging server
    • about / Messaging server
  • Microsoft
    • about / Microsoft
    • WebRTC, enabling / Microsoft

N

  • NAT Traversal
    • reference link / Find candidates
  • new web application / Existing or new web application
    • about / New and existing web applications
  • Node.js
    • about / Using WebSockets
    • URL / Setting up a simple WebRTC video call

O

  • offer
    • creating / Creating an offer in the caller's browser
  • onload function / Sending a thumbnail preview before the entire file
  • Opera
    • about / Opera
    • WebRTC, enabling / Opera
  • outdated student browsers
    • about / Outdated student browsers

P

  • peer-to-peer streams
    • establishing / Establishing peer-to-peer streams
  • peer_connection variable / Using a web server to connect two users
  • privacy
    • about / Privacy, Privacy
  • progress updates
    • providing / Providing progress updates

R

  • readAsDataURL() function / Adding files using the <input> element
  • restrictive networks
    • about / Restrictive networks
    / Restrictive networks
  • Restrictive SOEs
    • about / Restrictive SOEs
  • restrictive SOEs / Restrictive SOEs
  • RTCDataChannel API
    • about / RTCDataChannel API
  • RTCDataChannel connection
    • establishing / Establishing an RTCDataChannel connection
    • files, transfering / Transfering files via an RTCDataChannel connection
  • RTCPeerConnection API
    • about / RTCPeerConnection API
    • caller's flow / The caller's flow
    • callee's flow / The callee's flow
    • location / Where does RTCPeerConnection sit?
  • RTCPeerConnection streams
    • about / Start RTCPeerConnection streams

S

  • Safari / Apple
  • send_file() function / Adding files using the <input> element, Adding JavaScript for transferring files via WebSockets
  • send_file_parts() function / Adding JavaScript for transferring files via WebSockets, Sending a thumbnail preview before the entire file
  • Session Description Protocol (SDP)
    • reference link / Negotiate media sessions
  • setLocalDescription() method / The JSEP offer/answer process
  • setRemoteDescription() method / Register the message handler
  • setup_video() function / Previewing the local video streams, Establishing peer-to-peer streams
  • signaling server / Signaling server
    • setting up / Setting up a signaling server
    • about / Signaling server
  • socket.io
    • URL / Using WebSockets
  • Standard Operating Environment (SOE) / WebRTC capable browser
  • start() function / Using a web server to connect two users, Adding JavaScript functions to enable chatting, Adding JavaScript for enabling file sharing, Adding JavaScript for transferring files via WebSockets
  • states() method
    • about / MediaStream API
  • stream processing
    • options / Stream processing options
  • students / Students
  • STUN server
    • reference link / Find candidates
  • stun_server variable / Using a web server to connect two users

T

  • team communication application
    • WebRTC, applying / Applying WebRTC for team communication
    • architecture / Overall application architecture
    • elements / Overall application architecture
    • WebRTC implementing, issues / Potential issues that may be faced
    • WebRTC implementing, benefits / Benefits that can be delivered
  • team communication application, elements
    • managers / Managers
    • team members / Team members
    • WebRTC capable browser / WebRTC capable browser
    • signaling server / Signaling server
    • TURN server / TURN server
    • messaging server / Messaging server
  • team members
    • about / Team members
  • text-based chat
    • adding, to video chat app / Adding text-based chat to our video chat app
    • HTML user interface / The HTML user interface for text-based chat
    • signals, handling / Handling text-based chat signals on the server
  • text message processing
    • options / Other text message processing options
  • thumbnail preview
    • sending / Sending a thumbnail preview before the entire file
  • timezones / Timezones
  • TURN server / TURN server
    • reference link / Find candidates
    • URL / TURN server
    • about / TURN server

U

  • Unified Messaging (UM) / Messaging server
  • update_file_progress() function / Adding JavaScript for transferring files via WebSockets
  • users
    • connecting, web server used / Using a web server to connect two users

V

  • video chat app
    • text-based chat, adding to / Adding text-based chat to our video chat app
    • file sharing, adding / Adding file sharing to our video chat app

W

  • Web Audio API
    • URL / Audio stream processing options
  • WebKit platform
    • about / Opera
  • WebRTC
    • about / Introducing WebRTC
    • uses / Uses for WebRTC
    • testing / Try WebRTC yourself right now!
    • browser compatibility / Browser compatibility
    • URL / Staying up-to-date
    • communication, setting up / Setting up communication
    • MediaStream API / MediaStream API
    • RTCPeerConnection API / RTCPeerConnection API
    • RTCDataChannel API / RTCDataChannel API
    • applying, for e-learning application / Applying WebRTC for education and e-learning
  • WebRTC 1.0. / WebRTC capable browser
  • WebRTC capable browser / WebRTC capable browser
    • about / WebRTC capable browser
    • new web application / New and existing web applications
  • WebRTC video call
    • setting up / Setting up a simple WebRTC video call
  • web server
    • used, for connecting two users / Using a web server to connect two users
  • WebSockets
    • about / Start signals, Using WebSockets
    • using / Using WebSockets
    • used, for file sharing / Adding JavaScript for transferring files via WebSockets
  • World Wide Web (WWW)
    • about / Introducing WebRTC
  • World Wide Web Consortium (W3C)
    • about / Introducing WebRTC

X

  • XHR API
    • about / Introducing WebRTC
lock icon The rest of the chapter is locked
arrow left Previous Section
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime
Banner background image