Visi projektai

Susitikimų kambariai ir santraukos

Vaizdo skambučiai ant LiveKit + webedge-db — realaus laiko kambariai, įrašymas (LiveKit Egress) ir santraukos.

TypeScriptVue 3Media workflows
WebEdge Meet skambučio ekrano vaizdasDev-story
01

Iššūkis

Po skambučio sprendimai ir užduotys dingsta pokalbių istorijoje arba niekieno užrašuose.

02

Ką darėme

Vue 3 + webedge-db susitikimų programa, naudojanti LiveKit WebRTC vaizdui, kambarių valdymui ir įrašo eksportui (egress), plius santraukos žingsnis, paverčiantis įrašą po pokalbio sprendimų ir veiksmų santrauka.

03

Rezultatas

Skambutis vyksta tikrame kambaryje, įrašomas ir palieka santrauką, prie kurios galima grįžti, o ne naršyti visą transkripciją.

Dev-story straipsnis

Kaip buvo kuriamas projektas: Susitikimų kambariai ir santraukos

Sistemai reikėjo savų vaizdo susitikimų, o ne nuorodos į svetimą produktą, kad tapatybė, kalendorius ir organizacijos prieiga tekėtų tiesiogiai. Kliūtis — backend'as sukasi ant dviejų branduolių arm dėžutės: nebuvo laisvo procesoriaus serveriniam vaizdo komponavimui ir jokio noro perkrauti medijos serverį dėl kiekvieno įrašymo. Šis apribojimas nulėmė beveik kiekvieną sprendimą.

Skyriai

05

Moduliai

05

Stackas

TypeScript + Vue 3

01

Kodėl projektas atsirado

Po skambučio sprendimai ir užduotys dingsta pokalbių istorijoje arba niekieno užrašuose.

Sistemai reikėjo savų vaizdo susitikimų, o ne nuorodos į svetimą produktą, kad tapatybė, kalendorius ir organizacijos prieiga tekėtų tiesiogiai. Kliūtis — backend'as sukasi ant dviejų branduolių arm dėžutės: nebuvo laisvo procesoriaus serveriniam vaizdo komponavimui ir jokio noro perkrauti medijos serverį dėl kiekvieno įrašymo. Šis apribojimas nulėmė beveik kiekvieną sprendimą.

02

Ką sukūrėme

Vue 3 + webedge-db susitikimų programa, naudojanti LiveKit WebRTC vaizdui, kambarių valdymui ir įrašo eksportui (egress), plius santraukos žingsnis, paverčiantis įrašą po pokalbio sprendimų ir veiksmų santrauka.

LiveKit SFU tvarko mediją, o mūsų reaktyvusis backend'as (webedge-db) valdo kambarių būseną, pokalbius, dalyvius ir prieigos patikras, todėl paneliai atsinaujina gyvai be apklausinėjimo. Įrašymas atliekamas komponuojant visų dalyvių langelius į tinklelį moderatoriaus naršyklėje ir ten pat sumaišant garsą, o serverinis LiveKit Egress kelias paliktas kaip alternatyva. Po pokalbio santraukos ištraukia veiksmų punktus iš transkripcijos ir pokalbio.

03

Pagrindiniai moduliai ir vartotojo kelias

M01

Naršyklėje veikiantis įrašytuvas, kuris kiekvieno dalyvio vaizdą sudėlioja į Google-Meet stiliaus canvas tinklelį ir per WebAudio sumaišo visą garsą, gyvai suderindamas langelius ir garso grafą, kai žmonės prisijungia ar išeina — vienintelis kelias, tinkantis dviejų branduolių serveriui be laisvo procesoriaus

M02

LiveKit Egress įrašymo valdymo sluoksnis, įkeliantis baigtus failus į S3, paliktas kaip serverinė alternatyva su diegimo išankstine patikra

M03

Pokalbio santraukos, kurios ištraukia ir pašalina dublikatus iš transkripcijos bei pokalbio veiksmų punktų naudodamos signalų euristikas (tolesni veiksmai, kitas žingsnis, atsakingas, terminų frazės), o ne LLM

M04

Realaus laiko kambario paneliai — dalyvių sąrašas, pokalbis, kambario būsena — prenumeruojantys backend'o atnaujinimus, todėl lieka gyvi be apklausinėjimo

M05

15 minučių cron valymas, automatiškai užbaigiantis apleistus gyvus kambarius, kurių šeimininkas uždarė kortelę, finalizuojantis vaikinius grupinius kambarius ir aktyvius įrašus, kad būsena ir lankomumas liktų švarūs

04

Architektūra ir technologiniai sprendimai

Sukurta su TypeScript, Vue 3, Media workflows.

LiveKit SFU medijai su įrašymu naršyklėje per canvas/WebAudio (LiveKit Egress į S3 kaip alternatyva), mūsų reaktyvusis backend'as realaus laiko būsenai, seanso autentifikacijai, cron'ams ir kalendoriaus jungčiai, savarankiškai talpinta ant dviejų branduolių arm dėžutės, o frontend'as ant Cloudflare Pages.

05

Rezultatas ir pamokos

Skambutis vyksta tikrame kambaryje, įrašomas ir palieka santrauką, prie kurios galima grįžti, o ne naršyti visą transkripciją.

Veikiantis savarankiškai talpinamas susitikimų rinkinys, kuris įrašo ir sudaro santraukas ribotoje aparatinėje įrangoje ir susieja kiekvieną dalyvį su jo prisijungusiu sistemos profiliu — santraukos yra sąžininga raktažodžiais grįsta ekstrakcija, o ne DI magija.

Toliau skaityti

Šie projektai turi artimų technologinių arba produkto sprendimų, todėl padeda matyti, kaip tas pats principas veikia kitame kontekste.

Turite panašią idėją?

Aptarti projektą