View Source Membrane.MP4.Muxer.ISOM (Membrane MP4 plugin v0.16.2)

Puts payloaded streams into an MPEG-4 container.

Due to the structure of MPEG-4 containers, the muxer has to be used along with Membrane.File.Sink or any other sink that can handle Membrane.File.SeekEvent. The event is used to fill in mdat box size after processing all incoming buffers and, if fast_start is set to true, to insert moov box at the beginning of the file.

element-options

Element options

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

  • fast_start

    boolean()

    Default value: false
    Generates a container more suitable for streaming by allowing media players to start playback as soon as they start to receive its media data.

    When set to true, the container metadata (moov atom) will be placed before media data (mdat atom). The equivalent of FFmpeg's -movflags faststart option.

  • chunk_duration

    Time.t()

    Default value: 1000000000
    Expected duration of each chunk in the resulting MP4 container.

    Once the total duration of samples received on one of the input pads exceeds that threshold, a chunk containing these samples is flushed. Interleaving chunks belonging to different tracks may have positive impact on performance of media players.

pads

Pads

input

:input

Availability :on_request
Caps Membrane.MP4.Payload
Demand mode :manual
Demand unit :buffers
Direction :input
Mode :pull
Name :input

output

:output

Availability :always
Caps Membrane.RemoteStream, restrictions:
  type: :bytestream,
  content_format: Membrane.MP4
Demand mode :manual
Demand unit :buffers
Direction :output
Mode :pull
Name :output

Link to this section Summary

Types

t()

Struct containing options for Membrane.MP4.Muxer.ISOM

Functions

Returns pads descriptions for Membrane.MP4.Muxer.ISOM

Returns description of options available for this module

Link to this section Types

@type t() :: %Membrane.MP4.Muxer.ISOM{
  chunk_duration: Membrane.Time.t(),
  fast_start: boolean()
}

Struct containing options for Membrane.MP4.Muxer.ISOM

Link to this section Functions

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

Returns pads descriptions for Membrane.MP4.Muxer.ISOM

@spec options() :: keyword()

Returns description of options available for this module