Does the audio stream in WebRTC support RTX yet?

225 views
Skip to first unread message

Eleven

unread,
Sep 18, 2023, 2:40:59 AM9/18/23
to discuss-webrtc
When I use bellow SDP(manually added relevant information about RTX and NACK in the green background) and setLocalDescription(SDP), there is a error: "Failed to set local offer sdp: Failed to set local audio description recv parameters for m-section with mid='0'."
 Does the audio stream in WebRTC support RTX yet?

v=0

o=- 4175038294612759277 2 IN IP4 127.0.0.1

s=-

t=0 0

a=group:BUNDLE 0

a=extmap-allow-mixed

a=msid-semantic: WMS 8b3af171-8980-4d8e-a04a-0bee40314b7c

m=audio 9 UDP/TLS/RTP/SAVPF 111 112 63 9 0 8 13 110 126

c=IN IP4 0.0.0.0

a=rtcp:9 IN IP4 0.0.0.0

a=ice-ufrag:ZB2c

a=ice-pwd:lbaD5pp5kL5WWwPqFvHpWiZk

a=ice-options:trickle

a=fingerprint:sha-256 D7:88:D3:15:04:86:CB:75:69:51:68:CC:4A:97:D2:7E:73:95:F9:96:FA:5F:C8:F9:A9:EA:B1:07:37:55:47:20

a=setup:actpass

a=mid:0

a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level

a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time

a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01

a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid

a=sendrecv

a=msid:8b3af171-8980-4d8e-a04a-0bee40314b7c 9707e2e8-de09-4dd8-9225-29bc0764db2b

a=rtcp-mux

a=rtpmap:111 opus/48000/2

a=rtcp-fb:111 transport-cc

a=rtcp-fb:111 nack

a=fmtp:111 minptime=10;useinbandfec=1

a=rtpmap:112 rtx/48000/2  

a=fmtp:112 apt=111

a=rtpmap:63 red/48000/2

a=fmtp:63 111/111

a=rtpmap:9 G722/8000

a=rtpmap:0 PCMU/8000

a=rtpmap:8 PCMA/8000

a=rtpmap:13 CN/8000

a=rtpmap:110 telephone-event/48000

a=rtpmap:126 telephone-event/8000

a=ssrc:741567938 cname:k1f6fplAU00u0ea4

a=ssrc:741567938 msid:8b3af171-8980-4d8e-a04a-0bee40314b7c 9707e2e8-de09-4dd8-9225-29bc0764db2b

Muhammad Usman Bashir

unread,
Sep 23, 2023, 8:11:07 AM9/23/23
to discuss-webrtc
> The SDP includes configuration for RTX on the audio media section, but browsers like Chrome enforce the spec and reject this, resulting in the error during setLocalDescription().

@Eleven, In WebRTC the NetEQ module and Opus codec work together to handle packet loss concealment and retransmissions (RTX) for audio. NetEQ handles buffering and requesting retransmissions, while Opus helps recover losses locally if retransmissions fail.  There are optimizations like adapting the NetEQ buffer delay based on reordering/loss statistics to improve PLC and RTX effectiveness for audio. 
> In the meantime, a workaround would be to remove the RTX-related rtpmap, fmtp and ssrc lines from the audio part of the SDP.
You can also re-initiate this thread or post your details here: Issue 4617: RTX-TIME parameter is disappeared

Reply all
Reply to author
Forward
0 new messages