Mediaway.Container
0.1.8
dotnet add package Mediaway.Container --version 0.1.8
NuGet\Install-Package Mediaway.Container -Version 0.1.8
<PackageReference Include="Mediaway.Container" Version="0.1.8" />
<PackageVersion Include="Mediaway.Container" Version="0.1.8" />
<PackageReference Include="Mediaway.Container" />
paket add Mediaway.Container --version 0.1.8
#r "nuget: Mediaway.Container, 0.1.8"
#:package Mediaway.Container@0.1.8
#addin nuget:?package=Mediaway.Container&version=0.1.8
#tool nuget:?package=Mediaway.Container&version=0.1.8
Mediaway for .NET
Native media capture, encoding, and container mux/demux for .NET, backed by
Mediaway's C ABI (mediaway_ffi.dll, bundled in the packages — no separate
native install).
The native side is 100% Rust — no libav*/GPL codec dependencies, memory-safe
by construction where the OS/GPU APIs allow it. This package is a thin,
idiomatic SafeHandle-based wrapper over that Rust core's C ABI, not a
managed reimplementation.
Windows x64 is the fully hardware-verified platform (device/pipeline capture and encode). Linux x64 is container-verified (mux/demux); device/pipeline capability on Linux is untested here. Pre-1.0: APIs may change.
Packages
| Package | What it does |
|---|---|
Mediaway.Common |
Shared types (Rational, stream/packet info) used by all packages |
Mediaway.Container |
Mux/demux for all 8 mediaway-container formats: MP4/WebM (Muxer/Demuxer), Ogg/ADTS/FLV/MPEG-TS/MP3 (dedicated classes), WAV (mux-only + WavContainer.Parse) |
Mediaway.Device |
Camera, microphone, and screen capture |
Mediaway.Device.Camera |
Camera capture (Mediaway.Device.Camera) |
Mediaway.Device.Audio |
Microphone capture (Mediaway.Device.Audio) |
Mediaway.Device.Desktop |
Screen capture (Mediaway.Device.Desktop) |
Mediaway.Device.Hotplug |
Device add/remove events (Mediaway.Device.Hotplug) |
Mediaway.Pipeline |
End-to-end capture → encode → mux pipeline |
Install
dotnet add package Mediaway.Container # mux/demux
dotnet add package Mediaway.Device # capture
dotnet add package Mediaway.Pipeline # capture → encode → mux
Quick example — fMP4 mux
using Mediaway.Container;
var muxer = new Muxer();
int v = muxer.AddVideoTrack(new VideoTrackInfo
{
Codec = "h264",
Width = 640,
Height = 480,
TimeBase = new Rational(1, 30),
});
byte[] init = muxer.Begin(); // ftyp + moov
for (int i = 0; i < 90; i++)
{
muxer.Push(new Packet
{
TrackIndex = v,
Data = encodedFrame(i), // your H.264 bytes
Pts = i, // ticks of the track timeBase
Duration = 1,
Key = i % 30 == 0,
});
}
muxer.Flush();
byte[] tail = muxer.PollBytes();
muxer.Close();
// init + tail -> write to a file / stream
The muxer is sans-io: it never touches files — you own every byte of I/O.
License
MIT OR Apache-2.0. Source: github.com/nyxways/mediaway.
| Product | Versions 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 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. |
| .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. |
-
.NETStandard 2.0
- Mediaway.Common (>= 0.1.8)
-
net8.0
- Mediaway.Common (>= 0.1.8)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.