How to demux rtcp from rtp bundle?

0

my question is kind like this post but with more details.

I found a WebRTC alternative lib which can stream audio & video thought one rtp bundle session. Then I use Chrome as player which playes video & audio fine. But I cannot demux RTCP packets sent from Chrome, since ALL RTCP chunks sent from Chrome SSRC is 0x00000001.

Here's a RTCP packet dump my program received from Chrome:

[E8000C30] 81 C9 00 07 00 00 00 01 9E AB E9 AB 00 00 00 00 ................
[E8000C40] 00 00 01 CA 00 00 00 A2 1F 2B 42 45 00 02 36 87 .........+BE..6.
[E8000C50] 81 CE 00 02 00 00 00 01 9E AB E9 AB             ............

I have no idea how to find the corresponding (Audio?Video?) Stream to handle this RTCP packet.

Here's SDP offer send to Chrome:

v=0
o=- 0 2 IN IP4 127.0.0.1
s=-
t=0 0
a=msid-semantic: WMS uxKFANykyoZl4KJs
a=group:BUNDLE 0 1
m=audio 9 UDP/TLS/RTP/SAVPF 0
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:oEG4
a=ice-pwd:SIxRTAZ1slaNObmjL12sJ9vP
a=ice-options:trickle
a=setup:actpass
a=fingerprint:SHA-256 02:8E:DA:71:31:65:B4:F3:09:F6:21:F5:4A:B6:EB:9E:89:A9:73:1E:A2:55:06:95:00:F6:88:30:53:03:95:2A
a=mid:0
a=sendrecv
a=rtcp-mux
a=rtpmap:0 PCMU/8000
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=ssrc:3777793854 cname:nYyypRE0lU9WPshN
a=ssrc:3777793854 msid:uxKFANykyoZl4KJs FQ9i1rIPIjFq0Fq5
a=ssrc:3777793854 mslabel:uxKFANykyoZl4KJs
a=ssrc:3777793854 label:FQ9i1rIPIjFq0Fq5
m=video 9 UDP/TLS/RTP/SAVPF 96
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:oEG4
a=ice-pwd:SIxRTAZ1slaNObmjL12sJ9vP
a=ice-options:trickle
a=setup:actpass
a=fingerprint:SHA-256 02:8E:DA:71:31:65:B4:F3:09:F6:21:F5:4A:B6:EB:9E:89:A9:73:1E:A2:55:06:95:00:F6:88:30:53:03:95:2A
a=mid:1
a=sendrecv
a=rtcp-mux
a=rtpmap:96 H264/90000
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=rtcp-fb:96 transport-cc
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=fmtp:96 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=ssrc:286380548 cname:nYyypRE0lU9WPshN
a=ssrc:286380548 msid:uxKFANykyoZl4KJs PNgl6bG0mtaUVxoX
a=ssrc:286380548 mslabel:uxKFANykyoZl4KJs
a=ssrc:286380548 label:PNgl6bG0mtaUVxoX

This is Answer from Chrome:

v=0
o=- 6842861377849312257 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0 1
a=msid-semantic: WMS
m=audio 9 UDP/TLS/RTP/SAVPF 0
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:1iOS
a=ice-pwd:fs3JRZrWVWWO7gIwhnRojy1P
a=ice-options:trickle
a=fingerprint:sha-256 8C:18:72:62:3A:8C:0D:9A:94:1B:CF:EE:B9:6A:99:2D:88:0B:E5:23:C8:9A:D3:16:CC:20:0D:4C:41:C9:FE:58
a=setup:active
a=mid:0
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=recvonly
a=rtcp-mux
a=rtpmap:0 PCMU/8000
m=video 9 UDP/TLS/RTP/SAVPF 96
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:1iOS
a=ice-pwd:fs3JRZrWVWWO7gIwhnRojy1P
a=ice-options:trickle
a=fingerprint:sha-256 8C:18:72:62:3A:8C:0D:9A:94:1B:CF:EE:B9:6A:99:2D:88:0B:E5:23:C8:9A:D3:16:CC:20:0D:4C:41:C9:FE:58
a=setup:active
a=mid:1
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=recvonly
a=rtcp-mux
a=rtpmap:96 H264/90000
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=fmtp:96 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
webrtc
rtp
sdp
rtcp
asked on Stack Overflow Apr 21, 2020 by ChikaneHimeko

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0