FFmpeg.AudioConverter 0.3.0

dotnet add package FFmpeg.AudioConverter --version 0.3.0
                    
NuGet\Install-Package FFmpeg.AudioConverter -Version 0.3.0
                    
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.AudioConverter" Version="0.3.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FFmpeg.AudioConverter" Version="0.3.0" />
                    
Directory.Packages.props
<PackageReference Include="FFmpeg.AudioConverter" />
                    
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.AudioConverter --version 0.3.0
                    
#r "nuget: FFmpeg.AudioConverter, 0.3.0"
                    
#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.AudioConverter@0.3.0
                    
#: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.AudioConverter&version=0.3.0
                    
Install as a Cake Addin
#tool nuget:?package=FFmpeg.AudioConverter&version=0.3.0
                    
Install as a Cake Tool

FFmpeg Audio Converter

FFmpeg wrapper for dotnet. Converts mp3 and wav files to wav (8000kHz 8bit mono, MuLaw)

Usage

using FFmpeg.AudioConverter;

var converter = new AudioConverter();
// implements IAudioConverter interface so can be easily added to DI container and mocked

// convert mp3 to wav
using var mp3Stream = File.OpenRead(@"path.mp3");
using var wavStream = await converter.ConvertToWavAsync(mp3Stream, InputFormat.MP3, CancellationToken.None);

// save output to file
using var outputStream = File.OpenWrite(@"C:\temp\mulaw.wav");
await wavStream.CopyToAsync(outputStream);
await outputStream.FlushAsync();

Works on

  • Windows
  • Alpine
  • Ubuntu

Building ffmpeg binaries for alpine and windows

docker build --file ffmpeg.Dockerfile --output ffmpeg . will compile ffmpeg for mp3 and wav conversion to wav files. Folder will contain following binaries:

  • ffmpeg
  • ffprobe
  • ffmpeg.exe
  • ffprobe.exe

probe files are useful to inspect audio files.

Integration tests

To run tests execute:

Install-Module -Name Pester -Force # if not already installed or old version
Import-Module Pester
Invoke-Pester -Path .\IntegrationTest\ -Show All

Create nuget

dotnet build --configuration Release ./FFmpeg.AudioConverter/FFmpeg.AudioConverter.csproj -p:Version=${NUGET_VERSION}
sn -R ./FFmpeg.AudioConverter/bin/Release/net6.0/FFmpeg.AudioConverter.dll <path to .snk>
dotnet pack --no-build --configuration Release ./FFmpeg.AudioConverter/FFmpeg.AudioConverter.csproj -p:Version=${NUGET_VERSION}
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  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.
  • net6.0

    • No dependencies.

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
0.3.0 6,019 3/27/2025
0.3.0-pre1 520 3/26/2025
0.2.0 3,406 9/15/2022
0.1.0 574 9/13/2022