ContentDotNet 1.0.0-alpha6

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

ContentDotNet

ContentDotNet is a cross-platform, open-source, managed framework for C# to read/write videos, audios, images and other multimedia. It allows reading them, creating them, and inspecting or editing their contents. It provides a user-friendly API. It does not use any native libraries; everything is C#.

It is cross-platform and platform-independent, allowing ContentDotNet to run on a wide range of systems without worrying about compatibility, while also making deployment easier. It will work where .NET can run - yes, even Blazor WebAssembly.

What's supported?

Formats

  • Video:
    • Codecs:
      • H.264 (⚠️, see issue #6 if you're willing to help - and it's potentially doable! Most of our work went into the H.264 implementation)
    • Formats:
      • MP4 (⚠️)
  • Image:
    • Formats:
      • BMP
      • WebP
      • JPEG (⚠️)
  • Audio:
    • Codecs:
      • G.722
  • Protocols:
    • SDP
    • RTSP
    • RTP (⚠️)

We've released this framework very early - so early, that even simple components are still in development. Almost all of the work went into the H.264 implementation, though, which is still incomplete. The formats/codecs marked with (⚠️) are undone or unimplemented, and we need community help to finish them.

Why this project exists?

With the rise of multimedia content in applications, there is a growing need for robust and efficient libraries to handle various multimedia formats. Many social media apps are composed of video, audio and image applications, and developers often need to manipulate multimedia content in their applications.

.NET began supporting open-source development and cross-platform capabilities with .NET Core, and it gets more powerful with each release. C#, when used correctly, offers great performance and memory efficiency (SIMD with System.Runtime.Intrinsics, Parallelism with the Parallel class, stackalloc, structs, you name it). Which means .NET can be used to create multimedia frameworks and video codec implementations. If we use native libraries like FFmpeg, we lose the cross-platform capabilities and we have to use different types of binaries for different architectures (x64, ARM64, RISC-V, ...) and platforms (Windows, macOS, Linux, WebAssembly, ...). If there's one managed .NET framework to do this, you just need one binary for all platforms and architectures.

There are a few powerful image and VoIP libraries in .NET, like SixLabors.ImageSharp or SIPSorcery respectively, yes, but for comprehensive video and audio decoding without platform dependencies, there's no library for that, and ContentDotNet could be the first. It will also always be open-source and use the MIT license.

As for patents like H.264, we believe that we can use a technique where we delegate the need to obtain licenses and pay royalties to the end-user of the library. This applies to profit-generating and enterprise context, while personal and non-profit use legally remains free of charge.

Documentation

See Docs/README.md.

Contributing

See CONTRIBUTING.md.

Other

Building instructions

Changelog

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.
  • net8.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
1.0.0-alpha6 126 10/25/2025
1.0.0-alpha5 65 10/24/2025
1.0.0-alpha4 116 10/22/2025
1.0.0-alpha3 120 10/22/2025
1.0.0-alpha2 119 10/21/2025
1.0.0-alpha 119 10/21/2025

Documents and publishes the RTSP package on NuGet