-
Notifications
You must be signed in to change notification settings - Fork 3
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 | Install Command |
|---|---|---|---|---|
| Latest stable yt-dlp executable | Yes | Install-Package ManuHub.Ytdlp |
||
| Full FFmpeg binary (merging, conversion, thumbnails) | Recommended | Install-Package ManuHub.FFmpeg |
||
| FFprobe (metadata probing, format detection) | Recommended | Install-Package ManuHub.FFprobe |
||
| Deno runtime (advanced JS extractor support) | Yes | Install-Package ManuHub.Deno |
- 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="ManuHub.Ytdlp" Version="*" />
<!-- FFmpeg + FFprobe (highly recommended) -->
<PackageReference Include="ManuHub.FFmpeg" Version="*" />
<PackageReference Include="ManuHub.FFprobe" Version="*" />
<!-- Deno (only if you need advanced JS extraction features) -->
<PackageReference Include="ManuHub.Deno" 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.WithFFMpegLocation(@"C:\Tools\ffmpeg.exe");| Problem | Solution |
|---|---|
| "yt-dlp executable not found" | Install ManuHub.Ytdlp or place yt-dlp.exe in PATH |
| No merging / audio extraction | Install ManuHub.FFmpeg + ManuHub.FFprobe
|
| Advanced JS extractor fails | Install ManuHub.Deno
|
| Old binaries used | Clean/rebuild solution or update packages (Update-Package) |
- Usage Examples
- Metadata Model
- NuGet Gallery: https://www.nuget.org/packages/ManuHub.Ytdlp (and others)
Copyright © 2025-2026 Manojbabu, Manuhub