WebRTC 1.0: Real-time Communication Between Browsers

来源:互联网 发布:淘宝备案网址时什么 编辑:程序博客网 时间:2024/06/05 17:49

IETF RTCWEB group组讨论p2pweb

Media Capture Task Force讨论Media device

W3C的web Real-Time communications working group讨论以下内容

Table of Contents

  • 1.Introduction
  • 2.Conformance
  • 3.Terminology
  • 4.Peer-to-peer connections
    • 4.1Introduction
    • 4.2Configuration
      • 4.2.1RTCConfiguration Dictionary
        • 4.2.1.1DictionaryRTCConfiguration Members
      • 4.2.2RTCIceCredentialType Enum
      • 4.2.3RTCIceServer Dictionary
        • 4.2.3.1DictionaryRTCIceServer Members
      • 4.2.4RTCIceTransportPolicy Enum
      • 4.2.5RTCBundlePolicy Enum
      • 4.2.6RTCRtcpMuxPolicy Enum
      • 4.2.7Offer/Answer Options
        • 4.2.7.1DictionaryRTCOfferAnswerOptions Members
        • 4.2.7.2DictionaryRTCOfferOptions Members
    • 4.3RTCPeerConnection Interface
      • 4.3.1Operation
      • 4.3.2Interface Definition
        • 4.3.2.1Constructors
        • 4.3.2.2Attributes
        • 4.3.2.3Methods
      • 4.3.3Legacy Interface Extensions
        • 4.3.3.1Methods
      • 4.3.4Garbage collection
    • 4.4State Definitions
      • 4.4.1RTCSignalingState Enum
      • 4.4.2RTCIceGatheringState Enum
      • 4.4.3RTCPeerConnectionState Enum
      • 4.4.4RTCIceConnectionState Enum
    • 4.5Callback Definitions
      • 4.5.1RTCPeerConnectionErrorCallback
        • 4.5.1.1CallbackRTCPeerConnectionErrorCallback Parameters
      • 4.5.2RTCSessionDescriptionCallback
        • 4.5.2.1CallbackRTCSessionDescriptionCallback Parameters
    • 4.6Error Handling
      • 4.6.1General Principles
      • 4.6.2RTCSdpError
        • 4.6.2.1Attributes
    • 4.7Session Description Model
      • 4.7.1RTCSdpType
      • 4.7.2RTCSessionDescription Class
        • 4.7.2.1Constructors
        • 4.7.2.2Attributes
        • 4.7.2.3Serializer
        • 4.7.2.4DictionaryRTCSessionDescriptionInit Members
    • 4.8Session Negotiation Model
      • 4.8.1Setting Negotiation-Needed
      • 4.8.2Clearing Negotiation-Needed
      • 4.8.3Firing An Event
    • 4.9Interfaces for Connectivity Establishment
      • 4.9.1RTCIceCandidate Interface
        • 4.9.1.1Constructors
        • 4.9.1.2Attributes
        • 4.9.1.3Serializer
        • 4.9.1.4DictionaryRTCIceCandidateInit Members
        • 4.9.1.5RTCIceProtocol Enum
        • 4.9.1.6RTCIceTcpCandidateType Enum
        • 4.9.1.7RTCIceCandidateType Enum
      • 4.9.2RTCPeerConnectionIceEvent
        • 4.9.2.1Constructors
        • 4.9.2.2Attributes
        • 4.9.2.3DictionaryRTCPeerConnectionIceEventInit Members
      • 4.9.3RTCPeerConnectionIceErrorEvent
        • 4.9.3.1Constructors
        • 4.9.3.2Attributes
        • 4.9.3.3DictionaryRTCPeerConnectionIceErrorEventInit Members
    • 4.10Priority and QoS Model
      • 4.10.1RTCPriorityType Enum
    • 4.11Certificate Management
      • 4.11.1Methods
      • 4.11.2RTCCertificate Interface
        • 4.11.2.1Attributes
  • 5.RTP Media API
    • 5.1RTCPeerConnection Interface Extensions
      • 5.1.1Attributes
      • 5.1.2Methods
      • 5.1.3DictionaryRTCRtpTransceiverInit Members
      • 5.1.4Processing Remote MediaStreamTracks
    • 5.2RTCRtpSender Interface
      • 5.2.1Attributes
      • 5.2.2Methods
      • 5.2.3DictionaryRTCRtpParameters Members
      • 5.2.4DictionaryRTCRtpEncodingParameters Members
      • 5.2.5DictionaryRTCRtxParameters Members
      • 5.2.6DictionaryRTCFecParameters Members
      • 5.2.7DictionaryRTCRtcpParameters Members
      • 5.2.8DictionaryRTCRtpHeaderExtensionParameters Members
      • 5.2.9DictionaryRTCRtpCodecParameters Members
      • 5.2.10DictionaryRTCRtpCapabilities Members
      • 5.2.11DictionaryRTCRtpCodecCapability Members
      • 5.2.12DictionaryRTCRtpHeaderExtensionCapability Members
    • 5.3RTCRtpReceiver Interface
      • 5.3.1Attributes
      • 5.3.2Methods
      • 5.3.3Attributes
    • 5.4RTCRtpTransceiver Interface
      • 5.4.1Attributes
      • 5.4.2Methods
    • 5.5RTCDtlsTransport Interface
      • 5.5.1Attributes
      • 5.5.2Methods
    • 5.6RTCIceTransport Interface
      • 5.6.1Attributes
      • 5.6.2Methods
      • 5.6.3DictionaryRTCIceParameters Members
      • 5.6.4DictionaryRTCIceCandidatePair Members
    • 5.7RTCTrackEvent
      • 5.7.1Constructors
      • 5.7.2Attributes
      • 5.7.3DictionaryRTCTrackEventInit Members
  • 6.Peer-to-peer Data API
    • 6.1RTCPeerConnection Interface Extensions
      • 6.1.1Attributes
      • 6.1.2Methods
      • 6.1.3RTCSctpTransport Interface
        • 6.1.3.1Attributes
    • 6.2RTCDataChannel
      • 6.2.1Attributes
      • 6.2.2Methods
      • 6.2.3DictionaryRTCDataChannelInit Members
    • 6.3RTCDataChannelEvent
      • 6.3.1Constructors
      • 6.3.2Attributes
      • 6.3.3DictionaryRTCDataChannelEventInit Members
    • 6.4Garbage Collection
  • 7.Peer-to-peer DTMF
    • 7.1RTCRtpSender Interface Extensions
      • 7.1.1Attributes
    • 7.2RTCDTMFSender
      • 7.2.1Attributes
      • 7.2.2Methods
    • 7.3RTCDTMFToneChangeEvent
      • 7.3.1Constructors
      • 7.3.2Attributes
      • 7.3.3DictionaryRTCDTMFToneChangeEventInit Members
  • 8.Statistics Model
    • 8.1Introduction
    • 8.2RTCPeerConnection Interface Extensions
      • 8.2.1Methods
    • 8.3RTCStatsCallback
      • 8.3.1CallbackRTCStatsCallback Parameters
    • 8.4RTCStatsReport Object
    • 8.5RTCStats Dictionary
      • 8.5.1DictionaryRTCStats Members
    • 8.6Derived Stats Dictionaries
      • 8.6.1DictionaryRTCRTPStreamStats Members
      • 8.6.2DictionaryRTCInboundRTPStreamStats Members
      • 8.6.3DictionaryRTCOutboundRTPStreamStats Members
    • 8.7Example
  • 9.Identity
    • 9.1Identity Provider Interaction
      • 9.1.1Identity Provider Selection
      • 9.1.2Instantiating an IdP Proxy
        • 9.1.2.1Attributes
    • 9.2Registering an IdP Proxy
      • 9.2.1Methods
      • 9.2.2Interface Exposed by Identity Providers
        • 9.2.2.1Methods
      • 9.2.3Identity Assertion and Validation Results
        • 9.2.3.1DictionaryRTCIdentityAssertionResult Members
        • 9.2.3.2DictionaryRTCIdentityProviderDetails Members
        • 9.2.3.3DictionaryRTCIdentityValidationResult Members
    • 9.3Requesting Identity Assertions
      • 9.3.1User Login Procedure
    • 9.4Verifying Identity Assertions
    • 9.5RTCPeerConnection Interface Extensions
      • 9.5.1Attributes
      • 9.5.2Methods
      • 9.5.3Attributes
    • 9.6Examples
  • 10.Media Stream API Extensions for Network Use
    • 10.1Introduction
    • 10.2MediaStream
      • 10.2.1id
    • 10.3MediaStreamTrack
    • 10.4Isolated Media Streams
      • 10.4.1DictionaryMediaStreamConstraints Members
      • 10.4.2Extended MediaStreamTrack Properties
        • 10.4.2.1Attributes
      • 10.4.3Isolated Streams and RTCPeerConnection
      • 10.4.4Protection Afforded by Media Isolation
  • 11.Examples and Call Flows
    • 11.1Simple Peer-to-peer Example
    • 11.2Simple Peer-to-peer Example with Warm-up
    • 11.3Simple Peer-to-peer Example with media before signaling
    • 11.4Simple Simulcast Example
    • 11.5Advanced Peer-to-peer Example
    • 11.6Peer-to-peer Data Example
    • 11.7Call Flow Browser to Browser
    • 11.8DTMF Example
  • 12.Event summary
  • 13.Privacy and Security Considerations
    • 13.1Impact on same origin policy
    • 13.2Revealing IP addresses
    • 13.3Impact on local network
    • 13.4Confidentiality of Communications
    • 13.5Persistent information exposed by WebRTC
  • 14.Change Log
  • A.Acknowledgements
  • B.References
    • B.1Normative references
    • B.2Informative references

呼叫流程


A message sequence chart detailing a call flow between two browsers


关键几点:

1、调用new RTCPeerConnection(configuration ) 建立RTCPeerConnection对象

2、configuration has the information to find and access the servers used by ICE(Interactive Connectivity Establishment (ICE) IETF). There may be multiple servers of each type and any TURN server also acts as a STUN server.

3、An RTCCertificate can be persisted in [INDEXEDDB] and reused. Persistence and reuse also avoids the cost of key generation.

4、createOffercreateAnswer(SDP)

5、Datagram Transport Layer Security (DTLS)

6、RTCDataChannelRTCDataChannelEvent

7、Javascript API[JSEP]: IETF 连接建立API

8、 bindings about Web IDL[WEBIDL] correspond to particular constructs in Java 5[JLS3].

0 0
原创粉丝点击