GstRTPNetCC - GstRTPNetCC Examples
GstRTPNetCC |
---|
![]() |
Design |
Basic Usage |
Evaluating Version |
Examples |
Contact us |
The GstRTPNetcc was implemented to provide bandwidth estimations between endpoints, which establish a video streaming session. So these GstRTPNetCC examples are run between two devices:
- Tegra TX2 and X86 machine
For testing purposes, the user can check the bandwidth estimation, enabling the GStreamer to debug as follows:
--gst-debug=*rtpnetcc*:5
This will show these messages:
0:00:06.030153821 4856 0x23b2920 DEBUG rtpnetcc gstrtpnetcc.c:379:gst_rtp_netcc_update_bitrate:<rtpnetcc0> Target bitrate 4911440 0:00:07.031362296 4856 0x23b2920 DEBUG rtpnetcc gstrtpnetcc.c:379:gst_rtp_netcc_update_bitrate:<rtpnetcc0> Target bitrate 5304355 0:00:08.032595627 4856 0x23b2920 DEBUG rtpnetcc gstrtpnetcc.c:379:gst_rtp_netcc_update_bitrate:<rtpnetcc0> Target bitrate 5728703 0:00:09.033733606 4856 0x23b2920 DEBUG rtpnetcc gstrtpnetcc.c:379:gst_rtp_netcc_update_bitrate:<rtpnetcc0> Target bitrate 6186999 0:00:10.034948811 4856 0x23b2920 DEBUG rtpnetcc gstrtpnetcc.c:379:gst_rtp_netcc_update_bitrate:<rtpnetcc0> Target bitrate 6681958 0:00:11.036130230 4856 0x23b2920 DEBUG rtpnetcc gstrtpnetcc.c:379:gst_rtp_netcc_update_bitrate:<rtpnetcc0> Target bitrate 7216514 0:00:12.037276227 4856 0x23b2920 DEBUG rtpnetcc gstrtpnetcc.c:379:gst_rtp_netcc_update_bitrate:<rtpnetcc0> Target bitrate 7216514 0:00:13.038383955 4856 0x23b2920 DEBUG rtpnetcc gstrtpnetcc.c:379:gst_rtp_netcc_update_bitrate:<rtpnetcc0> Target bitrate 7339660 0:00:14.039541496 4856 0x23b2920 DEBUG rtpnetcc gstrtpnetcc.c:379:gst_rtp_netcc_update_bitrate:<rtpnetcc0> Target bitrate 7339660
VP8 Video Streaming
- Tegra TX2
PORT=5000 HOST=192.168.1.5 gst-launch-1.0 nvcamerasrc ! "video/x-raw(memory:NVMM),width=(int)640,height=(int)480,format=(string)I420,framerate=(fraction)30/1" ! omxvp8enc ! rtpvp8pay ! udpsink sync=false host=$HOST port=$PORT
- X86 Machine
PORT=5000 gst-launch-1.0 udpsrc port=5023 ! "application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)VP8,payload=(int)96" ! rtpnetcc ! rtpvp8depay ! decodebin ! xvimagesink --gst-debug=*rtpnetcc*:5
H264 Video Streaming
- Tegra TX2
PORT=5000 HOST=192.168.1.5 gst-launch-1.0 nvcamerasrc ! "video/x-raw(memory:NVMM),width=(int)640,height=(int)480,format=(string)I420,framerate=(fraction)30/1" ! omxh264enc ! rtph264pay ! udpsink sync=false host=$HOST port=$PORT
- X86 Machine
gst-launch-1.0 udpsrc port=5023 ! "application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264,packetization-mode=(string)1,profile-level-id=(string)424015,sprop-parameter-sets=(string)\"Z0JAKJWgKA9k\\,aM48gA\\=\\=\",payload=(int)96,ssrc=(uint)4156978030,timestamp-offset=(uint)3522887598,seqnum-offset=(uint)24203,a-framerate=(string)30" ! rtpnetcc ! rtph264depay ! decodebin ! xvimagesink -v --gst-debug=*rtpnetcc*:5
H265 Video Streaming
- X86 Machine - sender
PORT=5000 HOST=192.168.1.5 gst-launch-1.0 videotestsrc ! 'video/x-raw, width=(int)640, height=(int)480, framerate=(fraction)30/1, format=(string)Y444, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1' ! x265enc key-int-max=30 ! rtph265pay ! udpsink sync=false host=$HOST port=$PORT
- X86 Machine - receiver
gst-launch-1.0 udpsrc port=5000 ! "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H265, sprop-vps=(string)\"QAEMAf//BAgAAAMAnggAAAMAAFqVmAk\\=\", sprop-sps=(string)\"QgEBBAgAAAMAnggAAAMAAFqQAKBAPCyys0kmV/+AAIAAtQYGBgQAAAMABAAAAwB4IA\\=\\=\", sprop-pps=(string)\"RAHBcrRiQA\\=\\=\", payload=(int)96, seqnum-offset=(uint)27397, timestamp-offset=(uint)3414563319, ssrc=(uint)3098103133, a-framerate=(string)30" ! rtpnetcc ! rtph265depay ! decodebin ! queue ! videoconvert ! xvimagesink -v --gst-debug=*rtpnetcc*:5