rtpopuspay

rtpopuspay encapsulates Opus-encoded audio data into RTP packets following the payload format described in RFC 7587.

In addition to the RFC, which assumes only mono and stereo payload, the element supports multichannel Opus audio streams using a non-standardized SDP config and "multiopus" codec developed by Google for libwebrtc. When the input data have more than 2 channels, rtpopuspay will add extra fields to output caps that can be used to generate SDP in the syntax understood by libwebrtc. For example in the case of 5.1 audio:

  a=rtpmap:96 multiopus/48000/6
  a=fmtp:96 num_streams=4;coupled_streams=2;channel_mapping=0,4,1,2,3,5

See https://webrtc-review.googlesource.com/c/src/+/129768 for more details on multichannel Opus in libwebrtc.

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──GstRTPBasePayload
                    ╰──rtpopuspay

Factory details

Authors: – Danilo Cesar Lemes de Paula

Classification:Codec/Payloader/Network/RTP

Rank – primary

Plugin – rtp

Package – GStreamer Good Plug-ins

Pad Templates

sink

audio/x-opus:
channel-mapping-family: 0
audio/x-opus:
channel-mapping-family: 0
       channels: [ 1, 2 ]
audio/x-opus:
channel-mapping-family: 1
       channels: [ 3, 255 ]

Presencealways

Directionsink

Object typeGstPad


src

application/x-rtp:
          media: audio
        payload: [ 96, 127 ]
     clock-rate: 48000
  encoding-name: { (string)OPUS, (string)X-GST-OPUS-DRAFT-SPITTKA-00, (string)multiopus }

Presencealways

Directionsrc

Object typeGstPad


Properties

dtx

“dtx” gboolean

If enabled, the payloader will not transmit empty packets.

Flags : Read / Write

Default value : false


The results of the search are