* Add yt-dlp JS runtime support * Update build scripts and logging * fix: update README to include DeepWiki badge and correct contributor badge logo
Resources Directory
This directory contains bundled resources for the application.
yt-dlp Binaries
To bundle yt-dlp with the application, place the appropriate binaries in this directory:
Required Files
- Windows:
yt-dlp.exe - macOS:
yt-dlp_macos - Linux:
yt-dlp_linux
How to Download
You can download the latest yt-dlp binaries from the official GitHub releases:
Option 1: Manual Download
- Visit: https://github.com/yt-dlp/yt-dlp/releases/latest
- Download the appropriate version for each platform:
- Windows:
yt-dlp.exe - macOS:
yt-dlp_macos - Linux:
yt-dlp(rename toyt-dlp_linux)
- Windows:
Option 2: Using curl/wget (Linux/macOS)
# For Windows binary
curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe -o resources/yt-dlp.exe
# For macOS binary
curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_macos -o resources/yt-dlp_macos
chmod +x resources/yt-dlp_macos
# For Linux binary
curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o resources/yt-dlp_linux
chmod +x resources/yt-dlp_linux
Option 3: Using PowerShell (Windows)
# Download all three binaries
Invoke-WebRequest -Uri "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe" -OutFile "resources/yt-dlp.exe"
Invoke-WebRequest -Uri "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_macos" -OutFile "resources/yt-dlp_macos"
Invoke-WebRequest -Uri "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp" -OutFile "resources/yt-dlp_linux"
ffmpeg Binaries
ffmpeg is required for merging audio/video streams and audio extraction. Bundle the matching binary for each target platform:
Required Files
- Windows:
ffmpeg.exe - macOS:
ffmpeg_macos - Linux:
ffmpeg_linux
How to Download
- Windows / Linux: Grab static builds from https://ffmpeg.org/download.html (or https://github.com/yt-dlp/FFmpeg-Builds/releases) and rename the binary to match the filenames above.
- macOS: Download the
ffmpeg-arm64*.zipandffmpeg-x86_64*.zipassets from https://github.com/eko5624/mpv-mac/releases/latest. Extract them and merge into a universal binary withlipo -create, then save the result asresources/ffmpeg_macos. - On macOS/Linux ensure the final binary is executable:
chmod +x resources/ffmpeg_macos(orffmpeg_linux).
Note
- Bundled binaries are required for Windows builds. On macOS/Linux the app can also use ffmpeg/yt-dlp from the system PATH.
- You can override the lookup paths via the
YTDLP_PATHorFFMPEG_PATHenvironment variables if you prefer custom locations. - File sizes: ~10-15 MB per yt-dlp binary, ~40-80 MB per ffmpeg binary
JS Runtime (Deno)
yt-dlp uses an external JS runtime (Deno by default) for some extractors. Bundle a Deno binary so the app can run without system dependencies.
Required Files
- Windows:
deno.exe - macOS:
deno - Linux:
deno
How to Download
- Visit: https://github.com/denoland/deno/releases/latest
- Download the matching platform archive and extract the
deno(ordeno.exe) binary intoresources/. - On macOS/Linux ensure the file is executable:
chmod +x resources/deno
Note
- You can override the runtime path via
YTDLP_JS_RUNTIME_PATHif needed.