Files
RadioPlayer/tools/ffmpeg
2026-01-11 13:40:01 +01:00
..
2026-01-11 13:40:01 +01:00
2026-01-11 13:40:01 +01:00

FFmpeg (Optional) for Native Playback

The native player uses an external FFmpeg binary to decode radio streams.

Why this exists

  • The app intentionally does not download or embed FFmpeg automatically.
  • You provide FFmpeg yourself (license/compliance-friendly).

How the app finds FFmpeg

At runtime it searches in this order:

  1. RADIOPLAYER_FFMPEG environment variable (absolute or relative path)
  2. Next to the application executable (Windows: ffmpeg.exe, macOS/Linux: ffmpeg)
  3. Common bundle resource folders relative to the executable:
    • resources/ffmpeg(.exe)
    • Resources/ffmpeg(.exe)
    • ../resources/ffmpeg(.exe)
    • ../Resources/ffmpeg(.exe)
  4. Your system PATH
  • Put ffmpeg.exe somewhere stable, then set:

RADIOPLAYER_FFMPEG=C:\\path\\to\\ffmpeg.exe

Or copy ffmpeg.exe next to the built app binary:

  • src-tauri/target/debug/ffmpeg.exe (dev)
  • src-tauri/target/release/ffmpeg.exe (release)

Optional: download helper (Windows)

You can also run:

npm run ffmpeg:download

This downloads a prebuilt FFmpeg zip and extracts ffmpeg.exe into tools/ffmpeg/bin/ffmpeg.exe.

Notes

  • The player will fail fast with a clear error if FFmpeg is missing.
  • The project already includes a copy step (tools/copy-ffmpeg.js) that runs before tauri/build and places FFmpeg into src-tauri/resources/ for bundling.