# MPEG-4 container plugin for Membrane Framework

[![API Docs](](

This plugin provides utilities for MP4 container parsing and serialization along with elements for muxing the stream to MP4 or [CMAF](

## Installation
The package can be installed by adding `membrane_mp4_plugin` to your list of dependencies in `mix.exs`:

defp deps do
    {:membrane_mp4_plugin, "~> 0.9.0"}

## Usage
### `Membrane.MP4.Muxer.ISOM`
For an example of muxing streams to a regular MP4 file, refer to 

To run the example, you can use the following command:
elixir examples/muxer_isom.exs

### `Membrane.MP4.Muxer.CMAF`
To use the output stream of the CMAF muxer, you need a sink that will dump it to a playlist in a proper format.

In `membrane_http_adaptive_stream_plugin` repository you can find [an example]( 
that uses the CMAF muxer to create an HTTP Live Streaming playlist.

## Updating tests

In case `out_*` reference files in `test/fixtures/cmaf` change, `out_playlist.m3u8` and its dependent playlists should be updated and checked if they are still playable.
The current files have been checked with ffplay (FFmpeg) and Safari.

## Copyright and License

Copyright 2019, [Software Mansion](

[![Software Mansion](](

Licensed under the [Apache License, Version 2.0](LICENSE)