GstRTPNetCC Basic Usage: Difference between revisions
mNo edit summary |
mNo edit summary |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<noinclude> | <noinclude> | ||
{{GstRTPNetCC/Head|previous=Design|next=Evaluating version| | {{GstRTPNetCC/Head|previous=Design|next=Evaluating version|metakeywords=GstRTPNetCC element, gstrtpnetcc, H264, VP8, REMB standard, REMB}} | ||
</noinclude> | </noinclude> | ||
= Pipeline usage = | __TOC__ | ||
== 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. | 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. | ||
Line 19: | Line 21: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Additionally, it does not make any modifications | 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 == | ||
The GstRTPNetcc element provide the final estimation through two '''Element Signals''', which might be used according to the use case | The GstRTPNetcc element provide the final estimation through two '''Element Signals''', which might be used according to the use case | ||
Line 33: | 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'> | ||
Line 42: | Line 44: | ||
<noinclude> | <noinclude> | ||
{{GstRTPNetCC/Foot | {{GstRTPNetCC/Foot| Design| Evaluating version}} | ||
</noinclude> | </noinclude> |
Latest revision as of 11:34, 17 March 2023
GstRTPNetCC |
---|
Design |
Basic Usage |
Evaluating Version |
Examples |
Contact us |
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);