View Source Membrane.RTP.H264.Payloader (Membrane RTP H264 Plugin v0.11.0)
Payloads H264 NAL Units into H264 RTP payloads.
Based on RFC 6184
Supported types: Single NALU, FU-A, STAP-A.
element-options
Element options
Passed via struct Membrane.RTP.H264.Payloader.t/0
max_payload_size
non_neg_integer()
Default value:
1400
Maximal size of outputted payloads in bytes. Doesn't work in thesingle_nalu
mode. The resulting RTP packet will also contain RTP header (12B) and potentially RTP extensions. For most applications, everything should fit in standard MTU size (1500B) after adding L3 and L2 protocols' overhead.mode
:single_nalu | :non_interleaved
Default value:
:non_interleaved
In:single_nalu
mode, payloader puts exactly one NAL unit into each payload, altering only RTP metadata.:non_interleaved
mode handles also FU-A and STAP-A packetization. See RFC 6184 for details.
pads
Pads
input
:input
Availability | :always |
Caps | Membrane.H264 , restrictions:stream_format: :byte_stream ,alignment: :nal |
Demand mode | :auto |
Demand unit | :buffers |
Direction | :input |
Mode | :pull |
Name | :input |
output
:output
Availability | :always |
Caps | Membrane.RTP |
Demand mode | :auto |
Demand unit | :buffers |
Direction | :output |
Mode | :pull |
Name | :output |
Link to this section Summary
Types
Struct containing options for Membrane.RTP.H264.Payloader
Functions
Returns pads descriptions for Membrane.RTP.H264.Payloader
Returns description of options available for this module
Link to this section Types
@type t() :: %Membrane.RTP.H264.Payloader{ max_payload_size: non_neg_integer(), mode: :single_nalu | :non_interleaved }
Struct containing options for Membrane.RTP.H264.Payloader
Link to this section Functions
@spec membrane_pads() :: [{Membrane.Pad.name_t(), Membrane.Pad.description_t()}]
Returns pads descriptions for Membrane.RTP.H264.Payloader
@spec options() :: keyword()
Returns description of options available for this module