WebRTCme 26.9.21

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

WebRTCme

WebRTC for .NET, with one API across five platforms.

NuGet NuGet License: MIT

Every platform has its own WebRTC SDK, and no two look alike: a Java SDK on Android, an Objective-C framework on Apple, a C++ library on Windows, and the browser's own JavaScript API on the web. WebRTCme maps all of them onto a single C# surface that mirrors the W3C WebRTC 1.0 API β€” so if you have used RTCPeerConnection in JavaScript, you already know this API.

var window = CrossWebRtc.Current.Window();
var pc     = window.RTCPeerConnection(new RTCConfiguration { IceServers = [] });
var offer  = await pc.CreateOffer();

That runs unchanged on Blazor WebAssembly, Android, iOS, Mac Catalyst and Windows.

πŸ“– Documentation is in the Wiki

Getting started Installing the packages and wiring them into a Blazor or MAUI app
Hello world Sixty lines that negotiate a real connection β€” no server, no camera, no network
Platform prerequisites Read this before filing a bug. Three traps, each of which fails silently
What works where Honest per-platform matrix, including what is unverified
Releases Versions, upgrading from 2.0.0, what is embedded
Troubleshooting Symptoms, and what actually causes them

Packages

Two, and which you want depends on how much you want built for you.

What you get When
WebRTCme The unified API and all five bindings, with their native halves. Peer connections, media streams, devices, data channels. You have your own signalling and UI, or you are building a library.
WebRTCme.Middleware The above, plus a video tile, media managers, view models, and a connection layer that does the signalling for you β€” peer-to-peer or through a mediasoup SFU. You want a working call app without writing the plumbing.

WebRTCme.Middleware depends on WebRTCme, so referencing the middleware brings both. You never reference a binding directly.

dotnet add package WebRTCme.Middleware

Both packages carry every target framework β€” net10.0 for Blazor, plus net10.0-android, net10.0-ios, net10.0-maccatalyst and net10.0-windows10.0.22621.0 for .NET MAUI β€” so you reference the same package whatever you are building and NuGet picks the slice that matches.

.NET 10 only. The 2.0.0 line is the .NET 8 line and is frozen; there is no back-port. Upgrading from 2.0.0 takes three edits β€” see Releases.

Layout

WebRTCme.Bindings/     per-platform native access β€” Blazor JSInterop, Java, ObjC, Windows P/Invoke
WebRTCme/             the unified API and the plug-in            β†’ package 1
WebRTCme.Middleware/  video tile, managers, view models          β†’ package 2
WebRTCme.Connection/  signalling: mesh/P2P and a mediasoup SFU   ↳ folded into package 2
WebRTCme.DemoApp/     sample apps, Blazor and MAUI
Tests/                five tiers, from unit tests to on-device runs
doc/                  KnownGaps.md, TestingPlan.md, Packaging.md

The native WebRTC libraries are built by a separate repository, WebRTCnative, and consumed here as prebuilt binaries.

Building

dotnet build WebRTCme.sln

Everything builds on Windows, including the iOS and Mac Catalyst library slices β€” only linking and deploying an app for those needs a Mac.

There is no dotnet test; the test projects are invoked directly. See Testing.

Contributing

Issues and pull requests are welcome. Two things worth knowing first:

  • doc/KnownGaps.md records what is missing, half-wired or fragile, and keeps entries after they are fixed with what the fault looked like beforehand. It is the fastest way to recognise something you have just hit.
  • A NotImplementedException on a path that matters to you is worth an issue. Most of the unimplemented W3C surface has never been reached by anything, so a real call site is the signal that decides what gets filled in next.

Credits

Special thanks to GΓΈran Yri for his major contributions to the .NET MAUI porting.

WebRTCme is MIT licensed. It embeds Google's WebRTC and its dependencies, which carry their own terms β€” see what is inside the packages.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-android36.0 is compatible.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-ios26.0 is compatible.  net10.0-maccatalyst was computed.  net10.0-maccatalyst26.0 is compatible.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed.  net10.0-windows10.0.22621 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on WebRTCme:

Package Downloads
WebRTCme.Middleware

Services layer between Blazor or .NET MAUI applications and the WebRTCme library.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
26.9.21 51 9/21/2026
26.9.18 67 9/19/2026
26.9.16 76 9/16/2026
2.0.0 2,440 2/10/2024
1.0.0 4,641 3/16/2021

New major release.