MixedReality-WebRTC 2.0.0
This is the 2.0.0 stable release of MixedReality-WebRTC.
See CHANGELOG.md for a breakdown of changes.
Download
Unity packages
The MixedRealiy-WebRTC Unity library and its samples are distributed as Unity Package Manager (UPM) packages:
com.microsoft.mixedreality.webrtc
: Unity library with prebuilt binaries for Windows Desktop and UWP, and Android (ARM64 only).com.microsoft.mixedreality.webrtc.samples
: Optional package with samples and demo code. Do not use in production.
UPM packages are available via the official Microsoft Mixed Reality UPM package registry:
https://dev.azure.com/aipmr/MixedReality-Unity-Packages/_packaging?_a=feed&feed=Unity-packages
.
➡ UPM registry installation instructions
The UPM registry is the recommended way to consume those packages; once a project is configured, it allows simple one-click upgrade when a new version of MixedReality-WebRTC is published, via the Unity Package Manager window in the Unity Editor.
Alternatively, users may download packages manually and add them as local on-disk packages. Scroll down to the Assets section below to download the Unity UPM packages manually. Install instructions for manually downloaded packages are available from the Unity documentation.
NuGet packages
C# Library
.NET Standard 2.0 library. The packages are platform-dependent because they include the C/C++ library which contains the native implementation. There is no need to also download/include the C/C++ library packages.
C/C++ Library
Native shared library (mrwebrtc.dll
) exposing a pure C interface (C ABI compatible) for easy interoperability with C and C++ applications.
- Desktop : mrwebrtc 2.0.0
- UWP : mrwebrtc_uwp 2.0.0
Upgrading from 1.0
See the migration guide.
The 2.0 version introduces significant API changes. No upgrade mechanism is provided for Unity projects, which require manual fixup after updating.
Known issues
- (#27) On UWP, hardware-accelerated H.264 decoding was not yet confirmed at this time. There is a possibility it will not be available for the v2.0.0 stable release. In practice though decoding is rarely a bottleneck or even visible in profiling. Hardware-accelerated H.264 encoding is confirmed to work for devices supporting it (including HoloLens 2), with known performance issues that can affect CPU load (extra video frame copies).
- (#371) In Unity an AudioRenderer component can be coupled with Unity's own AudioSource component to output the remote audio through the Unity DSP pipeline, instead of directly to the device speakers. This feature is not fully implemented on UWP, such that adding an AudioSource component does not disable direct speaker output, resulting in duplicated audio output. Users using only an AudioRenderer with direct output to speakers (no AudioSource) are not affected.