View Source Membrane.MP4.Demuxer.CMAF (Membrane MP4 plugin v0.35.3)

A Membrane Filter capable of demuxing streams packed in CMAF container.

Under the hood it uses Membrane.MP4.Demuxer.CMAF.Engine.

Pads

:input

Accepted formats:

%RemoteStream{type: :bytestream, content_format: content_format} when content_format in [nil, MP4]
Direction::input
Availability::always
Flow control::auto

:output

Accepted formats:

%Membrane.AAC{config: {:esds, _esds}}
%Membrane.H264{stream_structure: {_avc, _dcr}, alignment: :au}
%Membrane.H265{stream_structure: {_hevc, _dcr}, alignment: :au}
%Membrane.Opus{self_delimiting?: false}
Direction::output
Availability::on_request
Flow control::auto

Pad options:

  • kind

    :video | :audio | nil

    Default value: nil
    Specifies, what kind of data can be handled by a pad.

Summary

Types

Notification sent when the tracks are identified in the MP4.

Options for pad :output

Types

@type new_tracks_t() :: {:new_tracks, [{track_id :: integer(), content :: struct()}]}

Notification sent when the tracks are identified in the MP4.

Upon receiving the notification, Pad.ref(:output, track_id) pads should be linked for all the track_id in the list. The content field contains the stream format which is contained in the track.

@type output_pad_opts() :: [{:kind, :video | :audio | nil}]

Options for pad :output