Membrane.MP4.Muxer.CMAF (Membrane MP4 plugin v0.11.0) View Source

Puts payloaded stream into Common Media Application Format, an MP4-based container commonly used in adaptive streaming over HTTP.

Multiple input streams are supported. If that is the case, they will be muxed into a single CMAF Track. Given that all input streams need to have a keyframe at the beginning of each CMAF Segment, it is recommended that all input streams are renditions of the same content.

If a stream contains non-key frames (like H264 P or B frames), they should be marked with a mp4_payload: %{key_frame?: false} metadata entry.

Element options

Passed via struct Membrane.MP4.Muxer.CMAF.t/0

  • segment_duration

    Membrane.Time.t()

    Default value: 2 |> Membrane.Time.seconds()

Pads

:input

Availability:on_request
CapsMembrane.MP4.Payload
Demand unit:buffers
Direction:input
Mode:pull
Name:input

:output

Availability:always
CapsMembrane.CMAF.Track
Direction:output
Mode:pull
Name:output

Link to this section Summary

Types

t()

Struct containing options for Membrane.MP4.Muxer.CMAF

Functions

Returns pads descriptions for Membrane.MP4.Muxer.CMAF

Returns description of options available for this module

Link to this section Types

Specs

t() :: %Membrane.MP4.Muxer.CMAF{segment_duration: Membrane.Time.t()}

Struct containing options for Membrane.MP4.Muxer.CMAF

Link to this section Functions

Specs

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

Returns pads descriptions for Membrane.MP4.Muxer.CMAF

Specs

options() :: keyword()

Returns description of options available for this module