MPEG-4 container plugin for Membrane Framework View Source API Docs CircleCI

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


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"}



For an example of muxing streams to a regular MP4 file, refer to examples/muxer_isom.exs.

To run the example, you can use the following command:

elixir examples/muxer_isom.exs


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 2019, Software Mansion

Software Mansion

Licensed under the Apache License, Version 2.0