rtpvrawdepay2

Depayload raw video frames from RTP packets as per RFC 4175.

Example pipeline

 gst-launch-1.0 udpsrc address=127.0.0.1 port=5555 caps='application/x-rtp,media=video,clock-rate=90000,encoding-name=RAW,width=320,height=240,depth=8,sampling=BGRA' ! rtpjitterbuffer latency=100 ! rtpvrawdepay2 ! queue ! videoconvertscale ! autovideosink

This will depayload an incoming Raw Video RTP stream. You can use the rtpvrawpay2 or rtpvrawpay element to create such an RTP stream.

Performance and system tuning considerations

Raw uncompressed video can easily take up a lot of memory and generate high data rates and packet rates, and as such is more demanding on the system and network than lower-bitrate compressed video.

This means you may need to tune your system's network configuration and configure udpsrc for high datarate streams.

In particular, you may want to increase the maximum allowed buffer size for the kernel-side UDP receive buffer, as the default is quite low, and a lot of that may be taken up by kernel-internal data structure overhead already.

On Linux systems you can change the maximum allowed value for the receive buffer with e.g.

 sysctl -w net.core.rmem_max=67108864

Alternatively this can also be configured in /etc/sysctl.conf.

Once this is configured kernel-side, you can use udpsrc buffer-size=NNN to increase the value to something larger than the default. If the value is too low it's possible that a lot of packets may never get read out by the pipeline after capture because they will be overwritten by new data before they can all be read out.

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──GstRtpBaseDepay2
                    ╰──rtpvrawdepay2

Factory details

Authors: – Tim-Philipp Müller

Classification:Codec/Depayloader/Network/RTP

Rank – marginal

Plugin – rsrtp

Package – gst-plugin-rtp

Pad Templates

sink

application/x-rtp:
          media: video
     clock-rate: 90000
  encoding-name: RAW
       sampling: { (string)RGB, (string)RGBA, (string)BGR, (string)BGRA, (string)YCbCr-4:4:4, (string)YCbCr-4:2:2, (string)YCbCr-4:2:0, (string)YCbCr-4:1:1 }
          depth: 8
application/x-rtp:
          media: video
     clock-rate: 90000
  encoding-name: RAW
       sampling: { (string)YCbCr-4:2:2 }
          depth: 10

Presencealways

Directionsink

Object typeGstPad


src

video/x-raw:
         format: { RGB, RGBA, BGR, BGRA, v308, UYVY, I420, Y41B, UYVP }
          width: [ 1, 32767 ]
         height: [ 1, 32767 ]
      framerate: [ 0/1, 2147483647/1 ]
 interlace-mode: progressive

Presencealways

Directionsrc

Object typeGstPad


Properties

concealment-method

“concealment-method” Rtp-raw-video-depay2concealment-method *

Concealment method used for packet loss

Flags : Read / Write

Default value : last-frame (1)


Named constants

Rtp-raw-video-depay2concealment-method

Members

black (0) – Black
last-frame (1) – Last Frame

The results of the search are