Difference between revisions of "GstRTPNetCC Basic Usage"

From RidgeRun Developer Connection
Jump to: navigation, search
m
m
 
Line 1: Line 1:
 
<noinclude>
 
<noinclude>
{{GstRTPNetCC/Head|previous=Design|next=Evaluating version|keywords=GstRTPNetCC element, gstrtpnetcc}}
+
{{GstRTPNetCC/Head|previous=Design|next=Evaluating version|metakeywords=GstRTPNetCC element, gstrtpnetcc, H264, VP8, REMB standard, REMB}}
 
</noinclude>
 
</noinclude>
  
Line 21: Line 21:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Additionally, it does not make any modifications over the video streaming, just takes the required information to allow estimating the bandwidth availability.
+
Additionally, it does not make any modifications to the video streaming, just takes the required information to allow for estimating the bandwidth availability.
  
 
== Getting the Bandwidth Estimation ==
 
== Getting the Bandwidth Estimation ==
Line 35: Line 35:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
* ''on-feedback-rtcp-buffer'': it provides an RTCP buffer with estimation value (kbps) based on REMB standard.
+
* ''on-feedback-rtcp-buffer'': it provides an RTCP buffer with an estimation value (kbps) based on the REMB standard.
  
 
<syntaxhighlight lang='bash'>
 
<syntaxhighlight lang='bash'>

Latest revision as of 06:34, 17 March 2023


Previous: Design Index Next: Evaluating version




Pipeline usage

The GstRTPNetcc element always has pads available, so it does not need to request pads on the fly. The element only depends on RTP video stream, so it might be added between GStreamer elements that handle RTP buffers.

  • H264 example
 gst-launch-1.0 .. ! rtph264pay ! rtpnetcc ! rtph264depay ! ..
  • VP8 example
 gst-launch-1.0 .. ! rtpvp8pay ! rtpnetcc ! rtpvp8depay ! ..

Additionally, it does not make any modifications to the video streaming, just takes the required information to allow for estimating the bandwidth availability.

Getting the Bandwidth Estimation

The GstRTPNetcc element provide the final estimation through two Element Signals, which might be used according to the use case

  • on-target-bitrate: this signal provides a single integer estimation value in kilobits per second.
  "on-target-bitrate" :  void user_function (GstElement* object,
                                             guint64 arg0,
                                             gpointer user_data);
  • on-feedback-rtcp-buffer: it provides an RTCP buffer with an estimation value (kbps) based on the REMB standard.
  "on-feedback-rtcp-buffer" :  void user_function (GstElement* object,
                                                   GstBuffer* arg0,
                                                   gpointer user_data);


Previous: Design Index Next: Evaluating version