View Source Membrane.MP4.Muxer.ISOM (Membrane MP4 plugin v0.36.0)
Puts payloaded streams into an MPEG-4 container.
Element options
Passed via struct Membrane.MP4.Muxer.ISOM.t/0
fast_startboolean()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 (moovatom) will be placed before media data (mdatatom). The equivalent of FFmpeg's-movflags faststartoption. [IMPORTANT] Due to the structure of MPEG-4 containers, the muxer withfast_start: truehas to be used along withMembrane.File.Sinkor any other sink that can handleMembrane.File.SeekSinkEvent, since that event is used to insertmoovbox at the beginning of the file.chunk_durationTime.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
:input
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: | :input |
| Availability: | :on_request |
| Flow control: | :auto |
:output
Accepted formats:
%RemoteStream{type: :bytestream, content_format: MP4}| Direction: | :output |
| Availability: | :always |
| Flow control: | :auto |
Summary
Types
Struct containing options for Membrane.MP4.Muxer.ISOM
Types
@type t() :: %Membrane.MP4.Muxer.ISOM{ chunk_duration: Membrane.Time.t(), fast_start: boolean() }
Struct containing options for Membrane.MP4.Muxer.ISOM
Functions
@spec options() :: keyword()
Returns description of options available for this module