WebRTC Remote Proctoring Integration

Job ID: 39801359

Budget: ₹12,500 – ₹37,500 INR

Project Description

We are extending our Remote Proctoring Application where students take online exams and multiple admins/proctors can monitor them in real time.

Currently, we face challenges with one-to-many WebRTC connections (one publisher → multiple viewers). A P2P mesh approach doesn’t scale, so we require a stable SFU (Selective Forwarding Unit) solution.

We are seeking an experienced WebRTC developer who has already integrated one-to-many broadcasting using SFU servers (mediasoup, Janus, ANT Media Server, LiveKit, Jitsi, etc.).

The module should be self-contained, plug cleanly into our existing stack, and work on both Windows and macOS builds.

Requirements & Features

Live Video Streaming: One student test-taker streams their camera to multiple proctors in real time.

Two-Way Audio: Proctors can talk back to candidates if needed.

Screen Sharing: Candidate’s desktop/screen stream alongside their camera.

Session Recording: Automatic recording of sessions (no playback UI required). Files should be downloadable/archivable later.

Scalability: One-to-many should work smoothly with multiple concurrent viewers.

Cross-Platform: Fully functional on Windows and macOS builds.

Clean Integration: Should fit into our current stack (vanilla JavaScript front-end + Node.js/Express back-end).

Documentation: Clear setup instructions, API endpoint details, signaling flow, and how to enable/disable recording.

Final Demo: One student publisher with multiple proctor viewers tested on both Windows and macOS.

Required Experience

Proven work with WebRTC one-to-many streaming using an SFU server.

Hands-on experience with mediasoup / Janus / ANT Media / LiveKit / Jitsi.

Strong Node.js/Express + JavaScript background.

Knowledge of recording and archiving WebRTC sessions.

Deliverables

A working one-to-many WebRTC module integrated into our system.

Source code with build scripts/instructions for Windows & macOS.

Documentation covering:

API endpoints

Signaling logic

Enabling/disabling session recording

Final demo session: One student streaming video + screen to multiple proctors with audio interaction.