Skip to content

Companion Packages

Manojbabu edited this page Feb 24, 2026 · 4 revisions

Companion Packages

Ytdlp.NET is a wrapper library — it does not include yt-dlp, FFmpeg, FFprobe, or Deno binaries.
To make setup zero-effort and fully portable (no manual PATH changes or downloads), we provide companion NuGet packages that automatically fetch and extract the latest stable binaries into your application's output directory.

These packages are optional but strongly recommended for most users.

Available Companion Packages

Package Name Purpose Required? Latest Version (as of Feb 2026) Install Command
Ytdlp.Stable.Build Latest stable yt-dlp executable Yes auto (matches yt-dlp release) Install-Package Ytdlp.Stable.Build
Ytdlp.FFmpeg.Build Full FFmpeg binary (merging, conversion, thumbnails) Recommended auto (latest stable) Install-Package Ytdlp.FFmpeg.Build
Ytdlp.FFprobe.Build FFprobe (metadata probing, format detection) Recommended auto (matches FFmpeg) Install-Package Ytdlp.FFprobe.Build
Ytdlp.Deno.Runtime Deno runtime (advanced JS extractor support) Yes auto (latest stable Deno) Install-Package Ytdlp.Deno.Runtime

Why use these packages?

  • Zero manual setup — binaries are extracted automatically at build/run time
  • Portable — works in Docker, CI/CD, Azure Functions, desktop apps, etc.
  • Always up-to-date — pulls latest stable releases from official sources
  • No PATH pollution — no need to install yt-dlp/FFmpeg globally
  • Safe & verified — packages are built and signed by the Ytdlp.NET maintainer

Installation (NuGet)

Add any or all of these to your .csproj file:

<ItemGroup>
  <!-- Core yt-dlp (required) -->
  <PackageReference Include="Ytdlp.Stable.Build" Version="*" />

  <!-- FFmpeg + FFprobe (highly recommended) -->
  <PackageReference Include="Ytdlp.FFmpeg.Build" Version="*" />
  <PackageReference Include="Ytdlp.FFprobe.Build" Version="*" />

  <!-- Deno (only if you need advanced JS extraction features) -->
  <!-- <PackageReference Include="Ytdlp.Deno.Runtime" Version="*" /> -->
</ItemGroup>

After restoring packages, the binaries will appear in your output folder (usually under bin/Debug/net9.0/runtimes/... or similar).

How Ytdlp.NET detects them

When you create new Ytdlp(), the library automatically searches:

  1. Companion package runtimes (highest priority)
  2. System PATH for yt-dlp / yt-dlp.exe
  3. Custom path passed to constructor

No extra configuration needed.

Manual Override (if needed)

If you prefer your own binaries or a specific version:

var ytdlp = new Ytdlp(ytDlpPath: @"C:\Tools\yt-dlp.exe");

// Optional: override FFmpeg location
ytdlp.SetFFMpegLocation(@"C:\Tools\ffmpeg.exe");

Troubleshooting

Problem Solution
"yt-dlp executable not found" Install Ytdlp.Stable.Build or place yt-dlp.exe in PATH
No merging / audio extraction Install Ytdlp.FFmpeg.Build + Ytdlp.FFprobe.Build
Advanced JS extractor fails Install Ytdlp.Deno.Runtime
Old binaries used Clean/rebuild solution or update packages (Update-Package)

See also

Last updated: February 15, 2026

Clone this wiki locally