Video și fundaluri virtuale

Fundaluri virtuale 3D în timp real pentru apeluri video

Fundalurile 3D din Voxal sunt scene live desenate pe dispozitivul tău și luminate în jurul tău. Cum funcționează și ce limite au.

  • De Voxal
  • Actualizat la
  • 7 min de citit
O persoană care folosește Voxal la birou, cu un participant video care apare pe un fundal virtual cu o insulă tropicală.

Fundalurile virtuale 3D din Voxal înlocuiesc camera din spatele tău cu o scenă pe care dispozitivul tău o desenează live, luminată și umbrită ca să se potrivească cu tine, în loc de o imagine statică. Pe o conexiune video directă compatibilă, dispozitivul celeilalte persoane poate desena singur aceeași scenă, așa că fundalul gata făcut nu trebuie trimis ca video.

Mai jos: ce face funcția, cum funcționează, ce s-a măsurat și ce nu, și limitele pe care e bine să le cunoști înainte să te bazezi pe ea.

Cunoaște Voxal: push-to-talk fără greutate în plus

Voxal este o aplicație push-to-talk (apasă și vorbește) construită pe un principiu simplu: conversațiile trebuie să fie ușor de început, să funcționeze pe orice platformă și să evite infrastructura inutilă. Poți crea o cameră vocală sau poți intra într-una fără cont, iar aplicația web nu necesită instalare. Voxal are și aplicații pentru desktop și mobil, cu reducerea zgomotului, controale pentru microfon, mod hands-free, video și partajarea ecranului.

Deschide o cameră, intră alături de prieteni sau colegi și ține apăsat când vrei să vorbești. Preferi hands-free? Și asta e disponibil.

Audio-ul vocal este mereu peer-to-peer. Voxal nu îți trece vocea printr-un server media.

Video-ul și partajarea ecranului sunt separate. Pot folosi conexiuni directe sau, în camerele mai mari, în funcție de setări, un releu video opțional. Vocea rămâne peer-to-peer în ambele cazuri.

Această abordare ușoară este o parte din ceea ce face Voxal interesant: nu încearcă să transforme fiecare conversație într-o ședință greoaie. Iar când pornești camera, fundalul tău nu mai trebuie să fie un detaliu neglijat.

Un fundal care e mai mult decât o imagine

Majoritatea fundalurilor virtuale urmează aceeași rețetă. Un software găsește persoana din fața camerei, o separă de cameră și o combină cu o imagine statică sau cu un video.

Voxal acceptă și opțiunile obișnuite. Poți lăsa camera neatinsă, poți estompa fundalul sau poți alege propria imagine.

Fundalurile animate funcționează diferit. În loc să redea un video pre-randat, Voxal construiește o scenă tridimensională și o randează în timp real pe dispozitivul tău. Scena este formată din geometrie, materiale, lumină și animație, nu dintr-un film care rulează în spatele tău.

Voxal are șase scene încorporate:

  • Office: atelierul unui arhitect din Copenhaga într-o dimineață de octombrie, cu soare jos printr-o fereastră înaltă.
  • Island: puntea umbrită a unui bungalou pe apă, la o lagună, cu ape puțin adânci turcoaz și un palmier aplecat.
  • Cyber café: un internet café din anii '90 transformat în espresso bar la Lisabona, cu azulejos și terminale vechi.
  • Mountain: un lac neted ca oglinda sub piscuri calcaroase, cu zadă aurie și ceață pe apa îndepărtată.
  • Countryside: grâu auriu pe dealurile ondulate ale Toscanei într-o seară de iunie.
  • Neon rain: un penthouse aflat sus, deasupra unui oraș portuar, noaptea, cu ploaie pe geam și o podea lustruită ca o oglindă.
Șase medii ilustrate: biroul unui arhitect, puntea unei insule tropicale, un cyber café din Lisabona, un lac alpin, peisajul rural toscan și un penthouse urban sub ploaie.
Reprezentări artistice ale celor șase teme de scenă, nu capturi de ecran ale fundalurilor randate. De la stânga la dreapta: Office, Island, Cyber café, Mountain, Countryside și Neon rain.

Fiecare scenă este desenată de hardware-ul grafic al dispozitivului tău. Aplicația nu trebuie să includă imagini sau videoclipuri de fundal pentru ele.

Asta schimbă mai mult decât aspectul. Fiindcă scena este generată, nu redată, poate fi reluminată, poate purta umbra ta și poate reacționa la mișcare. Pe telefon, scena se rotește ușor când înclini telefonul.

Fundalul tău reacționează la tine

Un spațiu virtual convingător trebuie să facă mai mult decât să arate bine. Trebuie să dea impresia că îți aparține.

Pipeline-ul Voxal folosește segmentarea locală a persoanei ca să te separe de imaginea camerei. Apoi îți combină silueta cu scena 3D randată.

Estimează de asemenea lumina care cade asupra ta și o folosește pentru a seta expunerea, tenta de culoare și direcția luminii din scenă. Scopul este o imagine coerentă: tu și mediul aveți o atmosferă luminoasă similară, în loc să arătați ca două straturi fără legătură.

Silueta ta aruncă și o umbră fină pe scenă, ceea ce te ajută să te simți parte din spațiu.

Dacă preferi, poți alege tu iluminarea. Opțiunile includ un moment fix al zilei (dimineață, amiază, după-amiază, seară sau noapte), ceasul local sau tema ecranului tău.

Adu-ți propria lume

Scenele încorporate sunt doar punctul de plecare. În Setări → Video → Fundal poți adăuga:

  • O panoramă de 360°. Orice fotografie equirectangulară funcționează, de exemplu din modul panoramă al unui telefon sau de la o cameră 360°. Stai în interiorul ei, iar ea se rotește când tragi de previzualizare sau când întorci telefonul.
  • Un model 3D ca fișier .glb (forma binară a glTF), de exemplu exportat din Blender. Voxal folosește camera, luminile și animațiile proprii ale modelului.

Scenele personalizate sunt stocate local pe dispozitivul tău, nu sunt încărcate pe un server, și poți păstra până la 12.

Partea ingenioasă: prietenii tăi pot randa fundalul tău

Într-un apel video obișnuit, cel care trimite trimite imaginea finală: tu, fundalul și tot restul combinate într-un singur cadru.

Voxal are o altă variantă pentru scenele sale încorporate. Când Let others draw my scene este activat și un participant compatibil este conectat direct la tine, acea persoană te primește pe un câmp verde uniform, în loc de imaginea finală. Dispozitivul ei găsește micile marcaje din colțurile cadrului, te decupează și desenează în spatele tău scena corespunzătoare.

În practică, două dispozitive desenează independent aceeași lume.

Diagramă care arată un emițător ce transmite o persoană pe un câmp verde uniform și setările scenei printr-o conexiune directă, în timp ce receptorul randează local fundalul cu insulă.
Cum funcționează randarea de către interlocutor pe dispozitive compatibile, cu o conexiune video directă și o scenă încorporată.

Setarea este activată implicit și o poți dezactiva din Setări → Video. Acționează doar când ai ales o scenă animată și este conectat un peer compatibil.

De ce contează? Un câmp uniform de culoare e mult mai ieftin pentru un encoder video decât o scenă detaliată și animată. Iar scena în sine nu trebuie să circule prin rețea, pentru că e construită din câteva numere: ce scenă, cât de luminoasă și de unde vine lumina.

Ce s-a măsurat și ce nu

În teste offline controlate (VP9 la calitate fixă, 1280 × 720, 30 de cadre pe secundă, cu un subiect de test în mișcare), imaginea compusă peste scenele încorporate a costat aproximativ 130–287 kb/s, iar persoana pe verde uniform aproximativ 96 kb/s. Asta înseamnă cu 26–67% mai puțini biți pentru aceeași calitate.

Citește aceste cifre ținând cont de limitele lor:

  • Provin din teste offline cu un subiect de test, nu din apeluri live.
  • Un apel real nu rulează la calitate fixă. Encoderul său consumă orice plafon de bitrate i se acordă. Într-un apel live, avantajul este un plafon de bitrate mai mic pentru cel care trimite, iar acest lucru nu a fost încă măsurat pe un apel real.
  • Economiile depind de scenă, de encoder, de conexiune și de dispozitivele implicate.

Există și limite privind situațiile în care funcționează:

  • Are nevoie de o conexiune video directă (peer-to-peer) (vezi ce înseamnă peer-to-peer). Cu rutarea implicită, asta înseamnă camere de două persoane. Când video-ul trece prin releu (un SFU), releul primește mereu imaginea finală.
  • Dispozitivul receptor trebuie să poată desena scena: are nevoie de WebGL2, de un motor bazat pe Chromium și de un GPU hardware. Dacă nu poate, cel care trimite continuă să trimită video-ul final obișnuit.
  • Dacă ceva nu merge, de exemplu un cap care acoperă un marcaj, Voxal revine de asemenea la video normal.
  • Nu se aplică scenelor tale personalizate, pentru că nimeni altcineva nu are fișierul tău.

Nu facem nicio afirmație despre banda folosită în comparație cu alte produse, pentru că nu am măsurat niciunul.

Gândit să rămână local

Procesarea imaginii pentru fundalul tău se face pe dispozitivul tău. Un mic model de învățare automată rulează local prin WebAssembly ca să te găsească în fluxul camerei. Fundalul este desenat și combinat cu tine înainte ca video-ul să fie trimis. Niciun cadru de la cameră nu este trimis la un server pentru a calcula fundalul.

Panoramele și fișierele tale .glb personalizate rămân în stocarea locală a dispozitivului. Nu sunt încărcate și nu sunt partajate cu alte dispozitive.

Nu ești obligat să folosești nimic din toate acestea. Cu fundalul setat pe None, Voxal trimite fluxul brut al camerei și nu rulează deloc pipeline-ul de fundal.

O distincție merită clarificată. Audio-ul vocal rămâne mereu peer-to-peer. Video-ul camerei are propriile opțiuni de rutare și poate trece printr-un releu opțional în camerele mai mari. Un releu poate, tehnic, să vadă video-ul pe care îl retransmite. Acest articol descrie cum este construită funcția. Nu este o promisiune de confidențialitate absolută, iar persoanele din apelul tău îți văd în continuare video-ul.

Pentru dezvoltatori: scenele sunt programe mici

O scenă încorporată este un modul mic în depozitul Voxal. Scenele trebuie să fie deterministe (conduse de timp și de o funcție aleatoare cu seed), astfel încât un alt dispozitiv să poată reconstrui exact aceeași lume pornind de la numele ei și de la câteva numere. Documentația motorului de scene explică formatul modulelor, iar scenele personalizate acoperă fișierele pe care le poți aduce tu însuți.

Pentru utilizatori, asta înseamnă mai multe moduri de a personaliza un apel. Pentru dezvoltatori, înseamnă că un fundal poate fi un program mic și reproductibil, în loc de un fișier media mare.

Încearcă Voxal

Poți folosi o simplă estompare, poți alege o scenă 3D animată, poți încărca o imagine, poți explora o panoramă de 360° sau poți încerca propriul model 3D.

Un fundal virtual nu trebuie să fie o imagine statică în spatele tău. Poate fi o lume pe care dispozitivul tău o creează, o luminează și o animă în timp real și, când condițiile permit, o lume pe care o creează și persoana de la celălalt capăt.

Voxal este open source sub licența MIT. Funcțiile și compatibilitatea cu platformele pot varia în funcție de dispozitiv și de conexiune.

Înapoi la blog