Skip to main content

Audio Detect Language

FFmpeg Builder: Audio Detect Language

This flow element looks for any audio tracks that have no language code set, or are marked as und (undefined), and detects the language using FileFlows Forge.

note

This flow element requires FileFlows Forge to be configured and available.


How It Works

  1. Iterates all non-deleted audio tracks in the FFmpeg Builder model.
  2. Skips any track that already has a language set (other than blank or und).
  3. Determines whether to sample or send the full track based on duration.
  4. Uploads audio samples to Forge and detects the spoken language.
  5. Updates the track's language code in the model with the detected ISO 639-2 value.

Sampling Strategy

To avoid credits, logos, or other non-dialogue sections, short clips are taken from the middle of the media:

  • Short media (< 3 minutes): The entire track is uploaded and detected once.
  • Longer media: The first and last 20% are skipped. Up to 5 samples (each 1 minute by default) are taken from the remaining middle section and voted on to pick the most common result.

Configuration

Max Samples

Default: 5

The maximum number of samples to take per track when splitting is needed. More samples improve accuracy but increase processing time.

Sample Duration

Default: 60

The duration of each sample in seconds. Each sample is extracted and uploaded separately.

Min Split Duration

Default: 180

The minimum total media duration in seconds below which the entire track is sent instead of splitting.


Outputs

  1. Language detected for one or more audio tracks, and track(s) updated in FFmpeg Builder.
  2. No tracks needed updating, or language detection failed for all qualifying tracks.