ffmpeg-media-tools

n8n community node for converting video binaries to audio with a bundled FFmpeg binary

Documentation

n8n-nodes-ffmpeg-media-tools

n8n community node package for converting video binaries to audio using a bundled FFmpeg binary.

What this package provides

  • FFmpeg Convert Video To Audio
  • FFmpeg Analyze Audio
  • FFmpeg Segment Audio

These nodes are designed for self-hosted n8n workflows that ingest meeting recordings and need:

  • video -> audio conversion without system-level ffmpeg
  • deterministic near-silence / no-dialogue analysis
  • real audio chunking for long recordings before LLM transcription

Why this package exists

  • No apt, apk, or Docker image changes are required just to get ffmpeg into PATH
  • The package installs a platform-specific FFmpeg binary through @ffmpeg-installer/ffmpeg
  • The nodes write temporary files to the host temp directory, run FFmpeg analysis/segmentation locally, and return n8n-friendly JSON + binary outputs

Install through Community nodes

  1. Publish this package to public npm as n8n-nodes-ffmpeg-media-tools.
  2. In self-hosted n8n, open Settings -> Community nodes.
  3. Install package:
    n8n-nodes-ffmpeg-media-tools
  4. Verify these nodes exist:
    • FFmpeg Convert Video To Audio
    • FFmpeg Analyze Audio
    • FFmpeg Segment Audio
  5. Add the needed FFmpeg nodes to your workflow.

Runtime notes

  • No credential is required
  • FFmpeg Convert Video To Audio
    • default preset is Speech MP3
    • default output field is audio
    • input field defaults to data
    • by default the node drops the original input binary after conversion to reduce memory pressure
  • FFmpeg Analyze Audio
    • reads an audio binary and returns:
      • audio_guard_status
      • audio_guard_reason
      • audio_duration_seconds
      • audio_silence_ratio
      • audio_analysis_version
  • FFmpeg Segment Audio
    • splits audio into overlapping chunk binaries
    • returns one item per chunk with:
      • chunk_index
      • chunk_start_seconds
      • chunk_end_seconds
      • chunk_start_hms
      • chunk_end_hms
      • chunk_duration_seconds
      • source_audio_duration_seconds
      • chunk_strategy
      • transcript_strategy

Build and test

npm install
npm run build
npm run lint
npm test

Publish / update

npm login
npm publish

Then in self-hosted n8n:

  1. Open Settings -> Community nodes
  2. Update n8n-nodes-ffmpeg-media-tools
  3. Confirm all three FFmpeg nodes are available before patching live workflows

Important limitation

The package avoids server configuration, but it still needs outbound network access during package installation so npm can download the platform-specific FFmpeg binary for @ffmpeg-installer/ffmpeg.

Licensing note

FFmpeg itself is distributed under FFmpeg licensing terms. Review the FFmpeg project license details before production distribution:
FFmpeg License

Discussion