WebRTC by Himadree :BS CSE499 Presentation, NSU

download WebRTC by Himadree :BS CSE499 Presentation, NSU

of 27

Transcript of WebRTC by Himadree :BS CSE499 Presentation, NSU

  • 8/12/2019 WebRTC by Himadree :BS CSE499 Presentation, NSU

    1/27

    CSE 499 Project Presentation

    Himadree Date: 11.06.2014

    P2P Real Time Web Conferencingwith WebRTC

  • 8/12/2019 WebRTC by Himadree :BS CSE499 Presentation, NSU

    2/27

    WebRTC Overview

    WebRTC(Web Real-Time Communication) is an API definitiondrafted by the World Wide Web Consortium (W3C) that supports

    browser-to-browser applications for voice calling, video chat, textchat and P2P file sharing without plugins.

    For standardizing relevant APIs & protocols:1.The W3C Webrtcworkgroup: Peer connection, Data channels and

    media capture browser APIs.

    2.The IETF Rtcwebworkgroup: RTP,SDP,SCTP,ICE,STUN.TURN.

    Current Browser support: Google Chrome, Mozilla Firefox.

    Android OS Smart Mobile/Tab: Chrome, Firefox.

    Currently Used Languages: (i) RTC core API functions: C++(ii) Access & App Development: JavaScript, HTML. CSS

  • 8/12/2019 WebRTC by Himadree :BS CSE499 Presentation, NSU

    3/27

    WebRTC: How It works?

    QAs:

    How they will find each other ?

    Via Signaling Server.

    How can they exchange contents ?

    Via Direct/Indirect Connection.Internet

    Web Server

    PeerPeer

    HTTP Request

    HTTP Response

    HTTP Request

    HTTP Response

    HTTP/Websocket Over TCP

    HTML

    JavaScript

    CSS

    App App

    App

  • 8/12/2019 WebRTC by Himadree :BS CSE499 Presentation, NSU

    4/27

    Programs Interaction

    QAs:

    Purpose of Signaling Server?

    Channel For Sending ConfigurationInformation: SDP, ICE etc.

    What are the other APIs?

    Navigator, DocumentType, JSON,

    ParentNode, Element , URL etc.

    What are the RTC APIs?

    MediaStream, RTCPeerConnection,

    RTCDataChannel etc.

    Signaling

    ServerWeb Server

    JavaScript/HTML/CSS

    RTCFunctions

    Browser

    HTTP/WebSockets HTTP/WebSockets

    Other APIs

    RTC APIs

    Media or Data

    Native OS

    Services

    TCP/UDP

    Application

  • 8/12/2019 WebRTC by Himadree :BS CSE499 Presentation, NSU

    5/27

    Architecture

  • 8/12/2019 WebRTC by Himadree :BS CSE499 Presentation, NSU

    6/27

    Signaling.

  • 8/12/2019 WebRTC by Himadree :BS CSE499 Presentation, NSU

    7/27

    What is Session Description Protocol (SDP)? : Offer/Answer

  • 8/12/2019 WebRTC by Himadree :BS CSE499 Presentation, NSU

    8/27

    When exchange SDP?

  • 8/12/2019 WebRTC by Himadree :BS CSE499 Presentation, NSU

    9/27

    P2P Streaming

  • 8/12/2019 WebRTC by Himadree :BS CSE499 Presentation, NSU

    10/27

    Peer Connection

    Internet

    Web Server

    Peer

    Peer

    HTTP/Websocket

    Signaling Server

    HTTP/Websocket

    Media or Data

    Connection

    HTML

    JavaScript

    CSS

    Offer-SDP

    Answer-SDP

  • 8/12/2019 WebRTC by Himadree :BS CSE499 Presentation, NSU

    11/27

    Still Anything Else.

    Internet

    Web Server

    PeerPeer

    Router

    NAT

    ?

    Signaling Server

  • 8/12/2019 WebRTC by Himadree :BS CSE499 Presentation, NSU

    12/27

    Hole punching : ICE

    Stun : Reflexive

    Turn : Relay

  • 8/12/2019 WebRTC by Himadree :BS CSE499 Presentation, NSU

    13/27

    ICE Technique..

  • 8/12/2019 WebRTC by Himadree :BS CSE499 Presentation, NSU

    14/27

    ICE Technique..

  • 8/12/2019 WebRTC by Himadree :BS CSE499 Presentation, NSU

    15/27

    ICE Candidates:

  • 8/12/2019 WebRTC by Himadree :BS CSE499 Presentation, NSU

    16/27

    Audio/Video streaming APIs

  • 8/12/2019 WebRTC by Himadree :BS CSE499 Presentation, NSU

    17/27

    RTCPeerConnection API

  • 8/12/2019 WebRTC by Himadree :BS CSE499 Presentation, NSU

    18/27

    RTCDataChannel API

  • 8/12/2019 WebRTC by Himadree :BS CSE499 Presentation, NSU

    19/27

    Text & File Share

    Text: JSON objects e.g. BLOB

    DataChannel.send( JSON{ String: Hello})

    File: FileReader API

  • 8/12/2019 WebRTC by Himadree :BS CSE499 Presentation, NSU

    20/27

    Interoperability ???

  • 8/12/2019 WebRTC by Himadree :BS CSE499 Presentation, NSU

    21/27

    Interoperability.

  • 8/12/2019 WebRTC by Himadree :BS CSE499 Presentation, NSU

    22/27

    File Share.

  • 8/12/2019 WebRTC by Himadree :BS CSE499 Presentation, NSU

    23/27

    Performance Analysis

  • 8/12/2019 WebRTC by Himadree :BS CSE499 Presentation, NSU

    24/27

    Performance Analysis.

  • 8/12/2019 WebRTC by Himadree :BS CSE499 Presentation, NSU

    25/27

    Performance Analysis.

  • 8/12/2019 WebRTC by Himadree :BS CSE499 Presentation, NSU

    26/27

    Scope of Further Improvements

    Concurrent File Management system

    Restricted Network (e.g. Proxy Server)

    RTC own signaling protocol

  • 8/12/2019 WebRTC by Himadree :BS CSE499 Presentation, NSU

    27/27

    Thank You

    Thanks to All