Low-level Rustler bindings to the rsmpeg Rust crate.
This module is private to the library. Use Exmpeg for the public API.
Stub names must match the Rust NIF symbols verbatim (Rustler verifies
arity at module load time); friendlier wrappers live below them.
Summary
Types
Input source as seen by the NIF: a filesystem path string,
{:memory, binary}, or a loaded buffer resource reference.
Functions
Stream-copy concatenation of multiple inputs into a single output.
Decodes the best audio stream and writes it as a 16-bit PCM WAV.
Decodes a single video frame at a timestamp and writes it as an image.
Copies a binary into a refcounted resource and returns its reference.
Probes a media file and returns format + per-stream metadata.
Stream-copies an input container to an output container.
Per-stream re-encode with codec / bitrate / scale / fps selection.
Reports the FFmpeg version + configure flags this NIF is linked against.
Types
Functions
@spec concat([input_source()], String.t(), map()) :: {:ok, map()} | {:error, map()}
Stream-copy concatenation of multiple inputs into a single output.
@spec extract_audio(input_source(), String.t(), map()) :: {:ok, map()} | {:error, map()}
Decodes the best audio stream and writes it as a 16-bit PCM WAV.
@spec extract_frame(input_source(), String.t(), map()) :: {:ok, map()} | {:error, map()}
Decodes a single video frame at a timestamp and writes it as an image.
Copies a binary into a refcounted resource and returns its reference.
@spec probe(input_source()) :: {:ok, map()} | {:error, map()}
Probes a media file and returns format + per-stream metadata.
@spec remux(input_source(), String.t(), map()) :: {:ok, map()} | {:error, map()}
Stream-copies an input container to an output container.
@spec transcode(input_source(), String.t(), map()) :: {:ok, map()} | {:error, map()}
Per-stream re-encode with codec / bitrate / scale / fps selection.
Reports the FFmpeg version + configure flags this NIF is linked against.