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 ]
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 }
Properties
dtx
“dtx” gboolean
If enabled, the payloader will not transmit empty packets.
Flags : Read / Write
Default value : false
Since : 1.20
The results of the search are