View Source Membrane.RTP.H264.Payloader (Membrane RTP H264 Plugin v0.10.1)

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 the single_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

t()

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

Specs

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

Specs

membrane_pads() :: [{Membrane.Pad.name_t(), Membrane.Pad.description_t()}]

Returns pads descriptions for Membrane.RTP.H264.Payloader

Specs

options() :: keyword()

Returns description of options available for this module