SharpJaad.AAC 0.0.4

dotnet add package SharpJaad.AAC --version 0.0.4                
NuGet\Install-Package SharpJaad.AAC -Version 0.0.4                
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="SharpJaad.AAC" Version="0.0.4" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SharpJaad.AAC --version 0.0.4                
#r "nuget: SharpJaad.AAC, 0.0.4"                
#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.
// Install SharpJaad.AAC as a Cake Addin
#addin nuget:?package=SharpJaad.AAC&version=0.0.4

// Install SharpJaad.AAC as a Cake Tool
#tool nuget:?package=SharpJaad.AAC&version=0.0.4                

SharpJaad

JAAD is an AAC decoder and MP4 demultiplexer library written completely in Java. It uses no native libraries, is platform-independent and portable. It can read MP4 container from almost every input-stream (files, network sockets etc.) and decode AAC-LC (Low Complexity) and HE-AAC (High Efficiency/AAC+).

SharpJaad is a netstandard2.0 port of the original Java code base with a few small fixes. It has no third-party dependencies and it's portable as it does not use any platform-specific APIs.

SharpJaad.AAC

SharpJaad.AAC is just the AAC decoder without any MP4 code. It's well suited for applications in RTP where the MP4 container is not needed.

Example

To decode stereo AAC Low Complexity (AAC-LC) with 44.1kHz, start with creating the configuration:

var decoderConfig = new DecoderConfig();
decoderConfig.SetProfile(Profile.AAC_LC);
decoderConfig.SetSampleFrequency(SampleFrequency.SAMPLE_FREQUENCY_44100);
decoderConfig.SetChannelConfiguration((ChannelConfiguration)2);

Create the decoder:

var aacDecoder = new Decoder(decoderConfig);

Create an output buffer for the result:

SampleBuffer buffer = new SampleBuffer();
buffer.SetBigEndian(false);

Decode the AAC frame:

byte[] aacFrame = { ... } // AAC frame to decode
aacDecoder.DecodeFrame(aacFrame, buffer);

Convert it to PCM:

short[] pcm = new short[buffer.Data.Length / sizeof(short)];
Buffer.BlockCopy(buffer.Data, 0, pcm, 0, buffer.Data.Length);

SharpJaadMain

A sample application that can extract AAC audio from a (MP4) file and transcode it into a WAV file.

Credits

This is a port of the https://sourceforge.net/projects/jaadec/ into C#.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  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. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.0

    • No dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on SharpJaad.AAC:

Package Downloads
SharpRTSPtoWebRTC

A C# implementation of the RTSP to WebRTC gateway that allows you to stream RTSP from various sources to the web browser. It is implemented in netstandard2.0 without any native dependencies. Suppports H264 and H265 re-streaming (H265 in WebRTC is only available in Safari). Audio transcoding from AAC to Opus is also supported.

MsM.SharpRTSPtoWebRTC

A C# implementation of the RTSP to WebRTC gateway that allows you to stream RTSP from various sources to the web browser. It is implemented in netstandard2.0 without any native dependencies. Suppports H264 and H265 re-streaming (H265 in WebRTC is only available in Safari). Audio transcoding from AAC to Opus is also supported.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.0.4 1,434 1/16/2024
0.0.2 620 5/8/2023
0.0.1 149 5/8/2023