Membrane.RTP.Muxer (Membrane RTP plugin v0.31.1)
View SourceElement that combines multiple streams into a single RTP stream.
Each new input stream is assigned a unique SSRC that the packets transporting this stream will have.
The demuxer will try to resolve what payload_type and clock_rate should be assumed based on the
incoming stream format and passed pad options.
Timestamps are calculated based on assumed clock_rate.
Element options
Passed via struct Membrane.RTP.Muxer.t/0
payload_type_mappingRTP.PayloadFormat.payload_type_mapping()Default value:
%{}
Mapping of the custom RTP payload types ( > 95).srtpfalse | [ExLibSRTP.Policy.t()]Default value:
false
Specifies whether to use SRTP to encrypt the output stream. Requires adding srtp dependency to work. If true takes a list of SRTP policies to use for encrypting packets. SeeExLibSRTP.Policy.t/0for details.
Pads
:input
Accepted formats:
RTP| Direction: | :input |
| Availability: | :on_request |
| Flow control: | :auto |
Pad options:
ssrcRTP.ssrc() | :randomDefault value:
:random
SSRC that this stream will be assigned. If not provided, a random free value will be assigned.payload_typeRTP.payload_type() | nilDefault value:
nil
Payload type of the stream. If not provided, determined from the resolved encoding name.encodingRTP.encoding_name() | nilDefault value:
nil
Encoding name of the stream that will be used if the muxer fails to infer it from incoming stream format. Used for determining payload_type, if it wasn't provided.clock_ratenon_neg_integer() | nilDefault value:
nil
Clock rate to use. If not provided, determined from resolved payload type.
:output
Accepted formats:
%RemoteStream{type: :packetized, content_format: RTP}| Direction: | :output |
| Availability: | :always |
| Flow control: | :auto |
Summary
Types
@type input_pad_opts() :: [ ssrc: Membrane.RTP.ssrc() | :random, payload_type: Membrane.RTP.payload_type() | nil, encoding: Membrane.RTP.encoding_name() | nil, clock_rate: non_neg_integer() | nil ]
Options for pad :input
@type t() :: %Membrane.RTP.Muxer{ payload_type_mapping: Membrane.RTP.PayloadFormat.payload_type_mapping(), srtp: false | [ExLibSRTP.Policy.t()] }
Struct containing options for Membrane.RTP.Muxer
Functions
@spec options() :: keyword()
Returns description of options available for this module