← Studii de caz

Educație · Program de livrare educațională digitală · 31 ianuarie 2024

Platformă de Videoconferință & Clasă în Timp Real

Stivă de clasă și întâlnire video WebRTC cu media SFU, sincronizare tablă/materiale, programare și livrare de producție NestJS/Angular.

Rezultate obținute

Model media

SFU

Clasele se scalează dincolo de mesh-uri peer de tip jucărie.

Profunzime produs

Unelte de predare

Tablă și fluxuri de partajare, dincolo de un simplu video.

Livrare

API + pipeline-uri client

UX-ul în timp real se livrează cu disciplina obișnuită de backend.

Context

Platformele de predare eșuează atunci când logica media și cea de listă de participanți trăiesc într-un singur proces încâlcit.

Provocare

Învățarea online necesita A/V multi-participant, partajare de ecran, adnotare pe tablă și controale de clasă — nu un link generic de întâlnire de consum. Fiabilitatea depindea de media SFU și orchestrare de sesiune corecte.

Abordare

Am lucrat pe media în timp real bazată pe MediaSoup, clienți de clasă Angular/Ionic și un backend video-chat NestJS cu programare, localizare și pipeline-uri de implementare prietenoase operațional (Docker/Jenkins). Funcționalitățile au cuprins camere, moderare chat, partajare media și materiale de predare sincronizate.

Arhitectură

Plan media SFU MediaSoup, API de sesiune/business NestJS, clienți web Angular, servicii media Node TypeScript, trasee de implementare dockerizate.

Domeniu

  • A/V multi-participant
  • Partajare ecran și media
  • Tablă/adnotare
  • Moderare cameră
  • API-uri de programare și sesiune

Constrângeri

  • Cerințe de IP public/TLS pentru WebRTC
  • Scală de participanți limitată de hardware
  • Variații de browser/dispozitiv

Aspecte cheie ale soluției

  • Arhitectură SFU în locul demo-urilor fragile bazate doar pe mesh
  • Separare clară între planul media și API-ul de domeniu Nest
  • Funcționalitățile de clasă (mute-all, chat privat, export) tratate ca produs

Tehnologii

WebRTCMediaSoupNestJSAngularTypeScriptDockerSocket.IO

Rezultate

  • Clase în timp real multi-participant, cu media partajată și fluxuri de tablă
  • API de business separat de preocupările media SFU
  • Pipeline-uri de build/deploy de producție pentru clienți web
  • Controale de host pentru moderare și operațiuni de clasă

Lecții învățate

  • WebRTC fără un plan SFU este un demo, nu o clasă.
  • Uneltele de predare sunt motivul pentru care cumpărătorii din educație țin la asta.
  • Runbook-urile de rețea previn spiralele de suport de tip „nu merge camera”.

Să discutăm

Ești pregătit să construiești ceva durabil?

Colaborează cu o echipă de ingineri seniori care proiectează, livrează și operează software pe care afacerile se bazează ani la rând.

Contactează-ne