Membrane plugin for muxing and demuxing files in the Matroska format.
It is part of Membrane Multimedia Framework.
- Both muxer and demuxer support tracks encoded with VP8, VP9, H264 and Opus.
- Opus tracks with more than 2 channels are not supported.
- Demuxing of files containing laced frames is not supported.
- Passing tag values is not supported
The package can be installed by adding membrane_matroska_plugin
to your list of dependencies in mix.exs
:
def deps do
[
{:membrane_matroska_plugin, "~> 0.6.0"}
]
end
Matroska muxer requires a sink that can handle Membrane.File.SeekEvent
, e.g. Membrane.File.Sink
.
For an example of muxing streams to a regular matroska file, refer to examples/muxer_h264.exs
.
To run the example, you can use the following command:
elixir examples/muxer_h264.exs
For an example of demuxing streams, refer to examples/demuxer_h264.exs
.
To run the example, use the following command:
elixir examples/demuxer_h264.exs
You can expect demuxing_output
folder to appear and contain an audio file 2.ogg
and a video file 1.h264
.
Copyright 2022, Software Mansion
Licensed under the Apache License, Version 2.0