TWCC stats are null with send-only connection to chrome in master

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

TWCC stats are null with send-only connection to chrome in master

Faraz Khan
Trying to get TWCC stats working in my gstreamer build (master from two days ago). My pipeline is a h264 video + audio webrtc stream with the following changes made to the offer SDP manually (to add goog-remb and transport-cc):

v=0
o=- 3207024576269204753 0 IN IP4 0.0.0.0
s=-
t=0 0
a=ice-options:trickle
a=group:BUNDLE video0 audio1 application2
m=video 9 UDP/TLS/RTP/SAVPF 96
c=IN IP4 0.0.0.0
a=setup:actpass
a=ice-ufrag:4QpOTwCuN51rZuwazlwaPpgec+tL7R/b
a=ice-pwd:T5les5UrI/8Bk6bpUSK1X4JF2phqaGdq
a=rtcp-mux
a=rtcp-rsize
a=sendrecv
a=rtpmap:96 H264/90000
a=rtcp-fb:96 nack pli
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=framerate:30
a=fmtp:96 packetization-mode=1;profile-level-id=42c028;sprop-parameter-sets=Z0LAKNoB4AiflwFqAgICgAAAAwCAAAAeR4wZUA==,aM48gA==
a=ssrc:4020551879 msid:user2637538205@host-f7c25563 webrtctransceiver0
a=ssrc:4020551879 cname:user2637538205@host-f7c25563
a=mid:video0

When I try to do twcc-stats on my rtpsession it doesn't seem to work:

GstElement* rtpbin = gst_bin_get_by_name(GST_BIN(webrtcbin), "rtpbin");
g_signal_emit_by_name(rtpbin, "get-session", 0, &session);
if (session != NULL) {
       g_object_get(G_OBJECT(session), "stats", &stats, NULL);
       gst_structure_foreach(stats, on_stats_iter, (gpointer)stats);
        std::cout << std::endl;
        g_object_get(G_OBJECT(session), "twcc-stats", &twcstats, NULL);
        gst_structure_foreach(twcstats, on_stats_iter, (gpointer)twcstats);
}


I can get "stats" no problem but twcc-stats is null.

I'm running with GST_RTP_ENABLE_EXPERIMENTAL_TWCC_PROPERTY=1 as well.

Any ideas? I don't get REMB packets from chrome either - I wonder if chrome needs to transmit a stream for all this to work for some reason?

Thanks!


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: TWCC stats are null with send-only connection to chrome in master

Faraz Khan
Got it working. Had to add RTP caps 'extmap-3=http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01' to application/x-rtp. Works like a charm. 

Are negative delta of delta averages expected? What does that mean?


On Thu, Oct 8, 2020 at 8:15 PM Faraz Khan <[hidden email]> wrote:
Trying to get TWCC stats working in my gstreamer build (master from two days ago). My pipeline is a h264 video + audio webrtc stream with the following changes made to the offer SDP manually (to add goog-remb and transport-cc):

v=0
o=- 3207024576269204753 0 IN IP4 0.0.0.0
s=-
t=0 0
a=ice-options:trickle
a=group:BUNDLE video0 audio1 application2
m=video 9 UDP/TLS/RTP/SAVPF 96
c=IN IP4 0.0.0.0
a=setup:actpass
a=ice-ufrag:4QpOTwCuN51rZuwazlwaPpgec+tL7R/b
a=ice-pwd:T5les5UrI/8Bk6bpUSK1X4JF2phqaGdq
a=rtcp-mux
a=rtcp-rsize
a=sendrecv
a=rtpmap:96 H264/90000
a=rtcp-fb:96 nack pli
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=framerate:30
a=fmtp:96 packetization-mode=1;profile-level-id=42c028;sprop-parameter-sets=Z0LAKNoB4AiflwFqAgICgAAAAwCAAAAeR4wZUA==,aM48gA==
a=ssrc:4020551879 msid:user2637538205@host-f7c25563 webrtctransceiver0
a=ssrc:4020551879 cname:user2637538205@host-f7c25563
a=mid:video0

When I try to do twcc-stats on my rtpsession it doesn't seem to work:

GstElement* rtpbin = gst_bin_get_by_name(GST_BIN(webrtcbin), "rtpbin");
g_signal_emit_by_name(rtpbin, "get-session", 0, &session);
if (session != NULL) {
       g_object_get(G_OBJECT(session), "stats", &stats, NULL);
       gst_structure_foreach(stats, on_stats_iter, (gpointer)stats);
        std::cout << std::endl;
        g_object_get(G_OBJECT(session), "twcc-stats", &twcstats, NULL);
        gst_structure_foreach(twcstats, on_stats_iter, (gpointer)twcstats);
}


I can get "stats" no problem but twcc-stats is null.

I'm running with GST_RTP_ENABLE_EXPERIMENTAL_TWCC_PROPERTY=1 as well.

Any ideas? I don't get REMB packets from chrome either - I wonder if chrome needs to transmit a stream for all this to work for some reason?

Thanks!


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: TWCC stats are null with send-only connection to chrome in master

weianchen
Hello Faraz,

I'm also trying to enable TWCC stats, would you please let you me how/where
did you add the
"extmap-3=http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01"?

Thanks!!



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: TWCC stats are null with send-only connection to chrome in master

petpel
Hi, did you ever get this working? Could you, please, share details?