GstRTPNetCC Basic Usage
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 over the video streaming, just takes the required information to allow 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 estimation value (kbps) based on REMB standard.
"on-feedback-rtcp-buffer" : void user_function (GstElement* object, GstBuffer* arg0, gpointer user_data);