The series of tutorial apps for WebRTC using Angular (Typescript), Android (Java), SignalR (C#) and NodeJS (Typescript).
The tutorial apps include:
- basic peer-to-peer implementation (for web and mobile apps),
- multi-peer implementation (for web apps) via all four of the most known WebRTC topologies - MESH, STAR, SFU (Selective Forwarding Unit) and MCU (Multipoint Control Unit).
The signaling server is implemented using Microsoft SignalR. The media (streaming) server is implemented using NodeJS.
The audio/video track(s) mixing for MCU (Multipoint Control Unit) topology is implemented fully custom in NodeJS, using node-webrtc and its Nonstandard APIs. The implementation can be seen in the MediaStreamMixer class.
The face recognition (anonymization) in Android app is implemented using Google's MediaPipe algorithms. The implementation can be seen in the FaceAnonymizer class. To test it out, just set the "USE_FACE_ANONYMIZATION" flag to "true" in AndroidCameraCapturer class.
Find more details on the implementation itself on the blog site and my LinkedIn.
This repository uses MIT license. Copyright (c) Dalibor Kofjač.