Metademuxer

Metademuxers in short

A metademuxer act exactly as a standard demuxer, exposes the very same interface, but instead of reading from a file container it does any kind of manipulation over already mapped resources based on specific per resource configuration files.

Currently implemented

  • demuxer_ds : it simply collates a list of time referenced part of resources together. The resources MUST contain exactly the same kind of media (eg. same codecs, resolutions and parameters) and be seekable and the resulting resource is seekable too.

    Example configuration file

# Version 1 - free form text here
resource.mov 0.0 1.0
resource.ds 1.0 3.0
resource.nut 3.0 4.0

TODO: move the configuration to the unified yaml based configuration, use an uniform uri handler for them

  • demuxer_sd : it is basically the old fenice configuration file, it maps different live streams as a single resource.

Example configuration file

stream
    file_name mq:///video
    encoding_name MPV
stream_end
stream
    file_name mq:///audio
    encoding_name MPA
stream_end