FFMpeg.StaticFetcher 0.0.2

There is a newer version of this package available.
See the version list below for details.
dotnet add package FFMpeg.StaticFetcher --version 0.0.2
                    
NuGet\Install-Package FFMpeg.StaticFetcher -Version 0.0.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FFMpeg.StaticFetcher" Version="0.0.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FFMpeg.StaticFetcher" Version="0.0.2" />
                    
Directory.Packages.props
<PackageReference Include="FFMpeg.StaticFetcher" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add FFMpeg.StaticFetcher --version 0.0.2
                    
#r "nuget: FFMpeg.StaticFetcher, 0.0.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package FFMpeg.StaticFetcher@0.0.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=FFMpeg.StaticFetcher&version=0.0.2
                    
Install as a Cake Addin
#tool nuget:?package=FFMpeg.StaticFetcher&version=0.0.2
                    
Install as a Cake Tool

FFMpeg.StaticFetcher

A small .NET 8 library that downloads static FFmpeg and FFprobe binaries for the current OS and architecture — auto-detecting the archive format and leaving ready-to-run executables in your output folder.

Install

dotnet add package FFMpeg.StaticFetcher

Usage

using FFMpeg.StaticFetcher;

// Download the latest ffmpeg + ffprobe to ./ffmpeg.
// Reused on later calls — no re-download when they're already present.
var binaries = await FFMpegStaticFetcher.DownloadBinaries();

// binaries.FFMpegPath / binaries.FFProbePath are absolute paths, ready to run.

All parameters are optional:

// Just ffmpeg, into a custom folder:
await FFMpegStaticFetcher.DownloadBinaries(binaries: FFMpegBinary.FFMpeg, outputFolder: "./bin");

// Pin a specific release:
await FFMpegStaticFetcher.DownloadBinaries(version: "b6.1.1");

// Reuse what's on disk, but re-download when a newer build ships:
await FFMpegStaticFetcher.DownloadBinaries(mode: FetchMode.ReFetchIfNewer);

// Use an already-installed ffmpeg if present, otherwise download:
await FFMpegStaticFetcher.DownloadBinaries(systemBinaries: SystemBinaryPolicy.Prefer);

Highlights

  • Auto-detects OS/arch (Windows, Linux, macOS — x64/x86/arm/arm64) and the archive format (gzip, xz, bzip2, zip, 7z, rar, their tar.* variants, or a raw binary).
  • Reuse-if-present by default; opt into "re-fetch if newer" or a full reload.
  • Optionally prefer a machine-installed ffmpeg, including version-aware policies.
  • Point at a different repository or a private mirror via FetcherSettings.
  • Secure by default: https-only overrides, size-bounded downloads, no zip-slip.
  • One dependency (SharpCompress).

Documentation

Full docs — examples, configuration, and security notes — are on GitHub: https://github.com/Alpaq92/FFMpeg.StaticFetcher

License

MIT (this library). The downloaded FFmpeg/FFprobe binaries are GPL-licensed and fetched at runtime — they are not redistributed by this package. See the repository for details.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 37 7/3/2026
0.0.3 45 7/3/2026
0.0.2 35 7/3/2026
0.0.1 41 7/3/2026