The RTCPeerConnection method addTransceiver() creates a new RTCRtpTransceiver and adds it to the set of transceivers associated with the RTCPeerConnection. Each transceiver represents a bidirectional stream, with both an RTCRtpSender and an RTCRtpReceiver associated with it.
On this page
RTCPeerConnection: addTransceiver() method
Syntax
js
addTransceiver(trackOrKind)
addTransceiver(trackOrKind, init)
Parameters
-
trackOrKind -
A
MediaStreamTrackto associate with the transceiver, or a string which is used as thekindof the receiver'strack, and by extension of theRTCRtpReceiveritself. initOptional-
An object for specifying any options when creating the new transceiver. Possible values are:
directionOptional-
The new transceiver's preferred directionality. This value is used to initialize the new
RTCRtpTransceiverobject'sRTCRtpTransceiver.directionproperty. sendEncodingsOptional-
A list of encodings to allow when sending RTP media from the
RTCRtpSender. Each entry is of typeRTCRtpEncodingParameters. streamsOptional-
A list of
MediaStreamobjects to add to the transceiver'sRTCRtpReceiver; when the remote peer'sRTCPeerConnection'strackevent occurs, these are the streams that will be specified by that event.
Return value
The RTCRtpTransceiver object which will be used to exchange the media data.
Exceptions
-
TypeError -
Thrown if
trackOrKindwas not either"audio"or"video".If the
sendEncodingsargument is used, this error may also be thrown if there is a badly formattedridmember, some but not all encodings contain aridmember, or different encodings have the sameridvalue. -
RangeError -
Thrown if any of the
sendEncodingsencodings have amaxFrameratevalue less than 0.0, or ascaleResolutionDownByvalue of less than 1.0. InvalidStateErrorDOMException-
Thrown if the method is called when the associated connection is closed.
InvalidAccessErrorDOMException-
Thrown if the
sendEncodingsargument is used, and contains a read-only parameter other thanrid.
Specifications
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
addTransceiver |
69 | 79 | 59 | No | No | 11 | 69 | 69 | 59 | No | 11 | 10.0 |
init_direction_parameter |
69 | 79 | 59 | No | No | 11 | 69 | 69 | 59 | No | 11 | 10.0 |
init_sendEncodings_parameter |
69 | 79 | 110 | No | No | 14.1 | 69 | 69 | 110 | No | 14.5 | 10.0 |
init_streams_parameter |
69 | 79 | 59 | No | No | 12.1 | 69 | 69 | 59 | No | 12.2 | 10.0 |
See also
- WebRTC API
- Introduction to the Real-time Transport Protocol (RTP)
RTCPeerConnection.addTrack()also creates transceiversRTCRtpReceiverandRTCRtpSender
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTransceiver