tonhowtf/omniget · error · anyhow::Error

FFmpeg remux falhou com status

Error message

FFmpeg remux falhou com status {}

What it means

FFmpeg wrapper failure in remux: the ffmpeg child process ran '-c copy' remuxing but exited with a non-success status, so the container transfer did not complete and the output file cannot be trusted.

Solutions

  1. Re-run with ffmpeg stderr captured to see the exact codec/container mismatch
  2. Verify ffmpeg is installed and on PATH for the app environment
  3. Check input file integrity; a corrupt or truncated input will fail stream copy
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at src-tauri/omniget-core/src/core/media_processor.rs:74 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of tonhowtf/omniget@8600b91f42 (2026-09-12). Data as JSON: /api/errors/cada7c88b39e8fd5. Report an issue: GitHub.

Appendix: source

Thrown at src-tauri/omniget-core/src/core/media_processor.rs:74

                bytes_tx,
                cancel_token,
                max_concurrent,
                max_retries,
                max_height,
            )
            .await
    }

    pub async fn remux(input: &str, output: &str) -> anyhow::Result<()> {
        let status = crate::core::process::command("ffmpeg")
            .args(["-y", "-i", input, "-c", "copy", output])
            .stdout(std::process::Stdio::null())
            .stderr(std::process::Stdio::piped())
            .status()
            .await?;

        if !status.success() {
            anyhow::bail!("FFmpeg remux falhou com status {}", status);
        }

        Ok(())
    }

    pub async fn merge_audio_video(video: &str, audio: &str, output: &str) -> anyhow::Result<()> {
        let status = crate::core::process::command("ffmpeg")
            .args([
                "-y", "-i", video, "-i", audio, "-map", "0:v", "-map", "1:a", "-c", "copy", output,
            ])
            .stdout(std::process::Stdio::null())
            .stderr(std::process::Stdio::piped())
            .status()
            .await?;

        if !status.success() {
            anyhow::bail!("FFmpeg merge falhou com status {}", status);
        }

View on GitHub (pinned to 8600b91f42)