Zackriya-Solutions/meetily · error

No audio track found in file

Error message

No audio track found in file

What it means

The container probed successfully, but every track reports CODEC_TYPE_NULL — meaning Symphonia sees tracks yet none is a decodable audio track. The classic case is a video-only MP4/MKV where the audio slot is empty and the video codec is not registered, so the filter finds nothing with a real codec. Media is structurally valid; there is just no audio to transcribe.

Source

Thrown at frontend/src-tauri/src/audio/decoder.rs:452

    // Probe the file format
    let probed = symphonia::default::get_probe()
        .format(
            &hint,
            mss,
            &FormatOptions::default(),
            &MetadataOptions::default(),
        )
        .map_err(|e| anyhow!("Failed to probe audio format: {}", e))?;

    let mut format = probed.format;

    // Find the first audio track
    let track = format
        .tracks()
        .iter()
        .find(|t| t.codec_params.codec != CODEC_TYPE_NULL)
        .ok_or_else(|| anyhow!("No audio track found in file"))?;

    let track_id = track.id;

    // Get audio parameters
    let sample_rate = track
        .codec_params
        .sample_rate
        .ok_or_else(|| anyhow!("Unknown sample rate"))?;

    let mut channels = track
        .codec_params
        .channels
        .map(|c| c.count() as u16)
        .unwrap_or(1);

    debug!(
        "Audio track: {}Hz, {} channels (from metadata)",
        sample_rate, channels

View on GitHub (pinned to 0281737d87)

Solutions

  1. Check for an audio stream with ffprobe — video-only files cannot be transcribed.
  2. If the container should have audio, remux/extract it: `ffmpeg -i input -vn -acodec copy audio.<ext>`, then import that.
  3. Filter video-only files at import time with the same stream check so users get a clear message up front.
Defensive patterns

Strategy: try-catch

Try / catch

Err(e) if e.to_string().contains("No audio track") => {
    // message: 'This file has no audio track — nothing to transcribe'; filter the file from the import list
}

Prevention

When it happens

Trigger: Importing a video-only MP4/MKV/MOV that Symphonia recognizes as a container; files whose audio track uses a codec Symphonia doesn't register, leaving only null-codec tracks.

Common situations: Screen or camera recordings made without an audio device, downloaded clips with stripped audio, security-cam exports.

Related errors


AI-assisted analysis of Zackriya-Solutions/meetily@0281737d87 (2026-08-16). Data as JSON: /api/errors/11c085a4c060eb22. Report an issue: GitHub.