GstRTPNetCC - GstRTPNetCC Basic Usage

From RidgeRun Developer Connection
Jump to: navigation, search


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