Skip to content
This repository has been archived by the owner on Mar 22, 2022. It is now read-only.

MixedReality-WebRTC 1.0.0 RC1

Pre-release
Pre-release
Compare
Choose a tag to compare
@djee-ms djee-ms released this 16 Oct 17:40

The is a release candidate for the first stable release of MixedReality-WebRTC.

NuGet packages

C# Library

C++ Library

Supported platforms

C++/C#

  • Windows Desktop (x86, x64)
  • Windows UWP (x86, x64, ARM32) including HoloLens 1 and HoloLens 2

Unity 2018.3+

  • In-editor x64
  • Standalone Desktop (x86/x64) via IL2CPP backend
  • Standalone UWP (x86/x64/ARM32) via IL2CPP backend, including HoloLens 1 and HoloLens 2

Features

MixedReality-WebRTC is configured by default to use the Unified Plan SDP semantic.

Peer connection

Each peer connection supports peer-to-peer (1:1) communication only. There is no support for multi-peer (1:N) connections.

  • Multiple peer connections per process
  • Single local audio track per peer connection
  • Single local video track per peer connection
  • Single remote audio track per peer connection
  • Single remote video track per peer connection
  • Multiple data channels per peer connection

Signaling

  • Abstracted (bring-your-own) signaling solution through PeerConnection events.

Video tracks

  • H.264 hardware-accelerated encoding (UWP only; including HoloLens 1 and HoloLens 2)
  • Software VP8, VP9 codecs
  • Local video track mute (produces black frames)

Local video capture

  • Video capture device and video capture format enumeration
  • Video profile selection (UWP only)
  • Optional capture resolution and/or framerate constraints
  • Mixed Reality Capture (where available)
  • On-screen recording indicator for MRC (where available)

Audio tracks

  • Standard WebRTC audio codecs : OPUS, iSAC, G.722, iLBC, PCM (μ-law and A-law), Comfort Noise
  • Local audio track mute (produces silence)

Local audio capture

No exposed device selection or configuration.

Data channels

  • Ordered/unordered, reliable/unreliable data channels

Known issues

  • (#74, #101) Video freezes and/or low video quality using the H.264 hardware encoder
  • (#89) PeerConnection.AddDataChannelAsync() is not multi-thread safe
  • (#92) Audio data not exposed to C# and Unity
  • (#75) SDP always negotiates both audio and video even if no track was added
  • (#95) Race condition sometimes lead to deadlock in WebRTC task queues initializing on UWP