AntMedia.Net.Android
2.17.2.3
See the version list below for details.
dotnet add package AntMedia.Net.Android --version 2.17.2.3
NuGet\Install-Package AntMedia.Net.Android -Version 2.17.2.3
<PackageReference Include="AntMedia.Net.Android" Version="2.17.2.3" />
<PackageVersion Include="AntMedia.Net.Android" Version="2.17.2.3" />
<PackageReference Include="AntMedia.Net.Android" />
paket add AntMedia.Net.Android --version 2.17.2.3
#r "nuget: AntMedia.Net.Android, 2.17.2.3"
#:package AntMedia.Net.Android@2.17.2.3
#addin nuget:?package=AntMedia.Net.Android&version=2.17.2.3
#tool nuget:?package=AntMedia.Net.Android&version=2.17.2.3
AntMedia.Net
.NET bindings for the Ant Media WebRTC SDKs, with one API across Android, iOS and Mac Catalyst. Publish and play WebRTC streams through an Ant Media Server from C#, in .NET MAUI or plain .NET for Android / iOS.
dotnet add package AntMedia.Net.Maui # MAUI apps: adds the video view
dotnet add package AntMedia.Net # everything else
var client = new AntMediaOptions
{
ServerUrl = "wss://your-server:5443/WebRTCAppEE/websocket",
}.CreateClient();
client.SetLocalView(LocalView); // an <antmedia:AntMediaVideoView /> from your XAML
client.PublishStarted += (_, e) => Console.WriteLine($"live: {e.StreamId}");
await client.PublishAsync("my-stream"); // completes when the server confirms
Packages
| Package | What it is | Target frameworks |
|---|---|---|
AntMedia.Net.Maui |
MAUI video view, handlers, and the Android Activity plumbing |
net8.0, net9.0, net10.0 (android + ios + maccatalyst) |
AntMedia.Net |
The cross-platform client: IAntMediaClient, options, events, async |
net8.0, net9.0, net10.0 (android + ios + maccatalyst) |
AntMedia.Net.Android |
The raw binding to the Ant Media Android SDK | net8.0-android34.0, net9.0-android35.0, net10.0-android36.0 |
AntMedia.Net.iOS |
The raw binding to the Ant Media iOS SDK | net8.0-ios18.0, net9.0-ios18.0, net10.0-ios26.0 |
AntMedia.Net.Mac |
The same binding, built for Mac Catalyst (Apple Silicon) | net8.0-maccatalyst18.0, net9.0-maccatalyst18.0, net10.0-maccatalyst26.0 |
Each package pulls in the one below it, so a single reference is enough. Drop to a platform
binding directly when you need something the cross-platform API does not expose — the full SDK
surface is there under AntMedia.WebRTC.* (Android), AntMedia.Net.iOS.* (iOS) and
AntMedia.Net.Mac.* (Mac Catalyst).
Why there is a cross-platform layer
The two SDKs look nothing like each other: Android has a builder and a 40-method Java listener
interface, iOS has a Swift client reached through an Objective-C facade and a delegate. Written
against the bindings directly, an app targeting both needs roughly 300 lines of adapter before it
can publish a stream. AntMedia.Net is that adapter, so you do not write it.
The sample is the evidence: samples/AntMedia.Net.Sample publishes and plays with no
per-platform code at all.
What is bound
Android binds WebRTC-Android-SDK whole. One .aar carries both
io.antmedia.webrtcandroidframework and org.webrtc, so the full native surface is available,
documented with the SDK's own javadoc.
iOS binds WebRTC-iOS-SDK through an @objc facade this repository maintains. The
upstream SDK is Swift and exposes almost nothing to Objective-C, so there is nothing for a .NET
binding to attach to; native/ios/Facade re-exposes the client API and is
compiled into the framework. See docs/BUILD.md for what that leaves out.
Mac Catalyst binds the same Swift SDK, from the same commit, through the same facade — but
against a different libwebrtc. Ant Media's own is a fork (it adds RTCAudioDeviceModule) published
for iOS only, so AntMedia.Net.Mac links a stock community build that ships a maccatalyst slice
and compiles a small shim beside the facade to supply the API their Swift code expects. iOS and
Android are untouched and keep using Ant Media's own libraries. Apple Silicon only. See
docs/BUILD.md.
Building
See docs/BUILD.md. In short:
./native/android/fetch-android.sh # builds the .aar from source (JDK 17 + Android SDK)
./native/ios/fetch-ios.sh # builds the xcframework with the facade (macOS + Xcode)
./native/mac/fetch-mac.sh # the same, for Mac Catalyst (macOS + Xcode, Apple Silicon)
./build/BuildNugets.sh # packs everything into ./artifacts
Licence
The binding and client code is MIT. The bundled Ant Media SDKs are MIT, and the
WebRTC.xcframework in the iOS package is Ant Media's build of libwebrtc, under its own BSD
licence.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0-android34.0 is compatible. net9.0-android was computed. net9.0-android35.0 is compatible. net10.0-android was computed. net10.0-android36.0 is compatible. |
-
net10.0-android36.0
- GoogleGson (>= 2.13.2.2)
-
net8.0-android34.0
- GoogleGson (>= 2.13.0.1)
-
net9.0-android35.0
- GoogleGson (>= 2.13.2.2)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on AntMedia.Net.Android:
| Package | Downloads |
|---|---|
|
AntMedia.Net
One API over the Ant Media WebRTC SDKs for Android, iOS and Mac Catalyst: publish and play streams with awaitable calls and ordinary .NET events, instead of writing a per-platform adapter over a Java listener interface and an Objective-C delegate. Pulls in the platform binding that matches whichever target framework you build. For .NET MAUI apps, add AntMedia.Net.Maui for the video view. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.17.2.6 | 109 | 7/27/2026 |
| 2.17.2.5 | 118 | 7/25/2026 |
| 2.17.2.4 | 116 | 7/24/2026 |
| 2.17.2.3 | 111 | 7/22/2026 |
| 2.17.2.2 | 98 | 7/22/2026 |
| 2.17.2.1 | 112 | 7/22/2026 |
| 2.17.2-beta.3.15 | 54 | 7/22/2026 |
| 2.17.2-beta.2.6 | 59 | 7/22/2026 |
| 2.17.2-beta.2.4 | 57 | 7/22/2026 |
| 2.17.2-beta.1.1 | 60 | 7/22/2026 |
| 1.0.0.1-beta1 | 270 | 2/9/2024 |