-
Notifications
You must be signed in to change notification settings - Fork 2
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.
| 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 |
- 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
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).
When you create new Ytdlp(), the library automatically searches:
- Companion package runtimes (highest priority)
- System PATH for
yt-dlp/yt-dlp.exe - Custom path passed to constructor
No extra configuration 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");| 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) |
- Usage Examples
- Metadata Model
- NuGet Gallery: https://www.nuget.org/packages/Ytdlp.Stable.Build (and others)
Last updated: February 15, 2026
Copyright (C) 2025-2026 Manojbabu, Manuhub