RTCRtpSender

The RTCRtpSender interface provides the ability to control and obtain details about how a particular MediaStreamTrack is encoded and sent to a remote peer. With it, you can configure the encoding used for the corresponding track, get information about the device's media capabilities, and so forth. You can also obtain access to an RTCDTMFSender which can be used to send DTMF codes to the remote peer.

Properties

RTCRtpSender.dtmf Read only
An RTCDTMFSender which can be used to send DTMF tones using "telephone-event" payloads on the RTP session represented by the RTCRtpSender object. If null, the track and/or the connection doesn't support DTMF. Only audio tracks can support DTMF.
RTCRtpSender.rtcpTransport Read only
The transport over which Real-time Transport Control Protocol (RTCP) information is exchanged. This value is null before the RTCDtlsTransport object is created. When bundling is in use, more than one RTCRtpSender can share the same transport, sending all RTP and RTCP information over that one transport.
RTCRtpSender.track Read only
The MediaStreamTrack which is being handled by the RTCRtpSender. If track is null, the RTCRtpSender doesn't transmit anything.
RTCRtpSender.transport Read only
The RTCDtlsTransport over which media data for the track is being transmitted. The data is transmitted using RTP packets. Before the transport is established, this value is null.

Methods

RTCRtpSender.getParameters()
Returns a RTCRtpParameters object describing the current configuration for the encoding and transmission of media on the track.
RTCRtpSender.getStats()
Returns a Promise which is fulfilled with a RTCStatsReport which provides statistics data for all outbound streams being sent using this RTCRtpSender.
RTCRtpSender.setParameters()
Applies changes to parameters which configure how the track is encoded and transmitted to the remote peer.
RTCRtpSender.replaceTrack()
Attempts to replace the track currently being sent by the RTCRtpSender with another track, without performing renegotiation. This method can be used, for example, to toggle between the front- and rear-facing cameras on a device.

Static methods

RTCRtpSender.getCapabilities()
Returns an RTCRtpCapabilities object describing the system's capabilities for sending a specified kind of media data.

Specifications

Specification Status Comment
WebRTC 1.0: Real-time Communication Between Browsers
The definition of 'RTCRtpSender' in that specification.
Candidate Recommendation  

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Basic supportChrome Full support YesEdge Full support YesFirefox Full support 34IE No support NoOpera ? Safari ? WebView Android Full support YesChrome Android Full support YesEdge Mobile ? Firefox Android Full support 34Opera Android ? Safari iOS ? Samsung Internet Android Full support Yes
dtmfChrome Full support YesEdge Full support YesFirefox Full support 52IE No support NoOpera ? Safari ? WebView Android Full support YesChrome Android Full support YesEdge Mobile ? Firefox Android Full support 52Opera Android ? Safari iOS ? Samsung Internet Android Full support Yes
getStatsChrome No support NoEdge ? Firefox Full support 55IE No support NoOpera ? Safari ? WebView Android No support NoChrome Android No support NoEdge Mobile Full support YesFirefox Android Full support 55Opera Android ? Safari iOS ? Samsung Internet Android No support No
rtcpTransportChrome No support NoEdge Full support 12Firefox Full support 34IE No support NoOpera ? Safari ? WebView Android No support NoChrome Android No support NoEdge Mobile ? Firefox Android Full support 34Opera Android ? Safari iOS ? Samsung Internet Android No support No
trackChrome Full support YesEdge Full support 12Firefox Full support 34IE No support NoOpera ? Safari ? WebView Android Full support YesChrome Android Full support YesEdge Mobile ? Firefox Android Full support 34Opera Android ? Safari iOS ? Samsung Internet Android Full support Yes
transportChrome No support NoEdge Full support 12Firefox Full support 34IE No support NoOpera ? Safari ? WebView Android No support NoChrome Android No support NoEdge Mobile ? Firefox Android Full support 34Opera Android ? Safari iOS ? Samsung Internet Android No support No
getCapabilitiesChrome ? Edge Full support 12Firefox ? IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
getParametersChrome Full support 67Edge ? Firefox ? IE ? Opera ? Safari Full support YesWebView Android ? Chrome Android Full support YesEdge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
replaceTrackChrome Full support 65Edge Full support YesFirefox ? IE ? Opera ? Safari Full support YesWebView Android ? Chrome Android Full support 65Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS Full support YesSamsung Internet Android ?
setParametersChrome ? Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown

See also

Document Tags and Contributors

Contributors to this page: Sheppy, jpmedley, fscholz
Last updated by: Sheppy,