Class Muxer¶
Defined in File muxer.h
Class Documentation¶
-
class Muxer¶
Media muxer for writing packets to container formats.
Muxer writes compressed packets to output files or streams, combining multiple streams (audio, video, etc.) into a single container format.
Public Functions
-
Muxer(const std::string &uri, const std::optional<std::string> &muxer)¶
Construct a muxer for writing to a URI.
- Parameters:
uri – Output URI (file path, etc.).
muxer – Optional muxer format name.
-
~Muxer()¶
Destructor.
-
template<MediaType media>
EncoderPtr<media> add_encode_stream(const EncodeConfigBase<media> &codec_config, const std::optional<std::string> &encoder, const std::optional<OptionDict> &encoder_config)¶ Add a stream with encoding.
- Template Parameters:
media – Media type (Audio or Video).
- Parameters:
codec_config – Encoding configuration.
encoder – Optional encoder name.
encoder_config – Optional encoder-specific options.
- Returns:
Encoder instance for the new stream.
-
template<MediaType media>
void add_remux_stream(const Codec<media> &codec)¶ Add a stream for remuxing (without re-encoding).
- Template Parameters:
media – Media type (Audio or Video).
- Parameters:
codec – Codec information from the source.
-
void open(const std::optional<OptionDict> &muxer_config)¶
Open the muxer for writing.
- Parameters:
muxer_config – Optional muxer-specific options.
-
template<MediaType media>
void write(int i, Packets<media> &packets)¶ Write packets to a stream.
- Template Parameters:
media – Media type (Audio or Video).
- Parameters:
i – Stream index.
packets – Packets to write.
-
void flush()¶
Flush any buffered packets.
-
void close()¶
Close the muxer and finalize the output.
-
Muxer(const std::string &uri, const std::optional<std::string> &muxer)¶