# Membrane MP4 plugin v0.36.10 - Table of Contents

> MPEG-4 container plugin for Membrane Framework

## Pages

- [MPEG-4 container plugin for Membrane Framework](readme.md)
- [LICENSE](license.md)

## Modules

- [Membrane.MP4.Container](Membrane.MP4.Container.md): Module for parsing and serializing MP4 files.
- [Membrane.MP4.Container.Header](Membrane.MP4.Container.Header.md): A structure describing the header of the box.
- [Membrane.MP4.Container.Schema](Membrane.MP4.Container.Schema.md): Types and struct for the compiled MP4 container schema.
- [Membrane.MP4.Container.Schema.Default](Membrane.MP4.Container.Schema.Default.md): MP4 structure schema used for parsing and serialization.
- [Membrane.MP4.Track](Membrane.MP4.Track.md): A module defining a structure that represents an MPEG-4 track.
- [Membrane.MP4.Track.SampleTable](Membrane.MP4.Track.SampleTable.md): A module that defines a structure and functions allowing to store samples,
assemble them into chunks and flush when needed. Its public functions take
care of recording information required to build a sample table.

- Muxers
  - [Membrane.MP4.Muxer.CMAF](Membrane.MP4.Muxer.CMAF.md): Puts a payloaded stream into [Common Media Application Format](https://www.wowza.com/blog/what-is-cmaf),
an MP4-based container commonly used in adaptive streaming over HTTP.
  - [Membrane.MP4.Muxer.CMAF.RequestMediaFinalization](Membrane.MP4.Muxer.CMAF.RequestMediaFinalization.md): Membrane's event representing a request for a `Membrane.MP4.Muxer.CMAF` element
to finalize the current segment as soon as possible.

  - [Membrane.MP4.Muxer.ISOM](Membrane.MP4.Muxer.ISOM.md): Puts payloaded streams into an MPEG-4 container.

- Demuxers
  - [Membrane.MP4.Demuxer.CMAF](Membrane.MP4.Demuxer.CMAF.md): A Membrane Filter capable of demuxing streams packed in CMAF container.
  - [Membrane.MP4.Demuxer.CMAF.Engine](Membrane.MP4.Demuxer.CMAF.Engine.md): A module capable of demuxing streams packed in CMAF container.
  - [Membrane.MP4.Demuxer.DemuxingSource](Membrane.MP4.Demuxer.DemuxingSource.md): A Membrane Source capable of reading streams from the MP4 file.
  - [Membrane.MP4.Demuxer.ISOM](Membrane.MP4.Demuxer.ISOM.md): A Membrane Element for demuxing an MP4.
  - [Membrane.MP4.Demuxer.ISOM.Engine](Membrane.MP4.Demuxer.ISOM.Engine.md): A module capable of demuxing streams packed in MP4 ISOM container.
  - [Membrane.MP4.Demuxer.Sample](Membrane.MP4.Demuxer.Sample.md): Struct representing a sample returned by `Membrane.MP4.Demuxer.CMAF.Engine` 
and `Membrane.MP4.Demuxer.ISOM.Engine`.

- Boxes
  - [Membrane.MP4.FileTypeBox](Membrane.MP4.FileTypeBox.md): A module containing a function for assembling an MPEG-4 file type box.
  - [Membrane.MP4.MediaDataBox](Membrane.MP4.MediaDataBox.md): A module containing a function for assembling an MPEG-4 media data box.
  - [Membrane.MP4.MovieBox](Membrane.MP4.MovieBox.md): A module providing a function assembling an MPEG-4 movie box.
  - [Membrane.MP4.MovieBox.MovieExtendsBox](Membrane.MP4.MovieBox.MovieExtendsBox.md): The module provides a function that assembles an MPEG-4 movie extends box (`mvex` atom).
  - [Membrane.MP4.MovieBox.TrackBox](Membrane.MP4.MovieBox.TrackBox.md): A module containing a set of utilities for assembling an MPEG-4 track box.
  - [Membrane.MP4.MovieFragmentBox](Membrane.MP4.MovieFragmentBox.md): A module containing a function for assembling an MPEG-4 movie fragment box.
  - [Membrane.MP4.SegmentIndexBox](Membrane.MP4.SegmentIndexBox.md): A module containing a function for assembling a CMAF segment index box.
  - [Membrane.MP4.SegmentTypeBox](Membrane.MP4.SegmentTypeBox.md): A module containing a function for assembling a CMAF segment type box.

## See Also

- [Membrane Framework AI Skill](https://hexdocs.pm/membrane_core/skill.md)
- [Membrane Core](https://hexdocs.pm/membrane_core/llms.txt)
