WebRTC naudinga kūdikių monitorių programėlėms, nes gali patikimai perduoti garsą ir vaizdą realiuoju laiku. Tačiau tai nėra viso produkto kokybės garantija. Saugų susiejimą, aiškiai suprantamus leidimus ir aiškius būsenos indikatorius vis tiek turi tinkamai įgyvendinti pati programėlė.
Trumpas sąvokų žodynėlis
- Medijos fiksavimas
- Programėlė prašo prieigos prie mikrofono ir kameros, kad galėtų iš įrenginio gauti tiesioginį garsą ir vaizdą.
- Ryšys tarp įrenginių
- Ryšys, kuriuo tarp dviejų įrenginių perduodamas tiesioginis garsas, vaizdas ir, jei reikia, duomenys.
- Duomenų kanalas
- Atskiras kanalas valdymo pranešimams, pavyzdžiui, kalbėjimo paspaudus mygtuką veiksmams arba kamerai įjungti ir išjungti.
- ICE / TURN
- Ryšio užmezgimo būdai, padedantys įrenginiams rasti veikiantį kelią per maršrutizatorius ir NAT net ryšį ribojančiomis tinklo sąlygomis.
Supaprastinta architektūra
Kas paprastai vyksta WebRTC kūdikių monitoriaus seanso metu
Įrenginiai apsikeičia ryšio informacija
Per signalizavimo mechanizmą abi pusės sužino, kaip gali pasiekti viena kitą.
Prieiga prie garso ir vaizdo suteikiama įrenginyje
Įrenginys įjungia mikrofoną ir, jei reikia, kamerą tik suteikus atitinkamus leidimus.
Parenkamas tiesioginis ryšys arba tarpinis serveris
ICE nusprendžia, ar įmanomas tiesioginis maršrutas, ar reikia TURN tipo tarpinio serverio.
Garso, vaizdo ir valdymo duomenys keliauja lygiagrečiai
Garsas ir vaizdas perduodami realiuoju laiku, o atskiri valdymo pranešimai gali keliauti duomenų kanalu.
Kodėl WebRTC tinka kūdikių monitoriams
Kūdikių monitoriui nereikia pranešimų archyvo ar uždelsto įkėlimo sistemos. Jam reikia mažos garso delsos, aiškios būsenos realiuoju laiku ir tinkamo veikimo kintant tinklo sąlygoms. Būtent čia atsiskleidžia WebRTC pranašumai: garso ir vaizdo perdavimas realiuoju laiku, ryšys tarp įrenginių ir galimybė pridėti atskirą valdymo kanalą.
Tėvams tai reiškia, kad WebRTC technologija pagrįstas produktas paprastai bando tiesiogiai spręsti tiesioginio ryšio problemą, o ne ją imituoti lėtesniais ar mažiau tam pritaikytais būdais. Tai naudinga. Tačiau vien iš to dar negalima spręsti, kiek produktas yra sąžiningas ir skaidrus, kaip aiškiai jame tvarkomi leidimai ar kiek jo architektūros lieka paslėpta.
Kodėl serveriai vis tiek naudojami, nors sakoma „lygiarangis ryšys“
Čia daugeliui tėvų pagrįstai kyla klausimų. Lygiarangis ryšys nereiškia, kad joks serveris niekada nedalyvauja. Įrenginiai pirmiausia turi rasti vienas kitą, apsikeisti ryšio duomenimis, o sudėtinguose tinkluose kartais naudoti tarpinį serverį. Signalizavimo ir TURN serveriai yra įprasti. Svarbu, kam jie naudojami ir kaip aiškiai tai paaiškina programėlė.
Kūdikių monitoriaus programėlė gali naudoti serverius ir vis tiek būti sukurta atsižvelgiant į privatumą, jei jų vaidmuo griežtai ribotas ir gerai paaiškintas. Problemų kyla, kai techninis tarpininkavimas virsta neaiškiu duomenų saugojimu, menkai paaiškinta paskyrų sistema ar vartotojui nematomu duomenų išlaikymu.
| WebRTC sudedamoji dalis | Kodėl tai svarbu kūdikių monitoriui |
|---|---|
| getUserMedia | Valdo prieigą prie mikrofono ir kameros, todėl leidimai čia yra itin svarbūs. |
| RTCPeerConnection | Perduoda tiesioginę garso ir vaizdo sesiją tarp dviejų įrenginių. |
| ICE / TURN | Padeda tęsti sesiją, kai maršrutizatoriai ir NAT apsunkina tiesioginį ryšį. |
| DataChannel | Leidžia kartu su pagrindiniu medijos srautu naudoti papildomas valdymo funkcijas. |
Ko WebRTC neišsprendžia automatiškai
WebRTC savaime neužtikrina saugaus susiejimo. Ši technologija nenusprendžia, kaip produktas tvarko tapatybę, kiek laiko lieka pasiekiami signalizavimo duomenys ir ar sąsaja aiškiai parodo nutrūkusį ryšį. Todėl produktas gali iš tiesų naudoti WebRTC, bet vis tiek būti prastas ar neskaidrus tais klausimais, kurie tėvams svarbiausi.
Praktinė išvada paprasta: „naudoja WebRTC“ yra naudingas ženklas, bet ne vertinimo pabaiga. Po šios frazės prasideda tikrasis darbas – susiejimo, privatumo, leidimų, tinklo veikimo ir produkto atvirumo vertinimas.
Kokius klausimus apie WebRTC tėvams iš tikrųjų verta užduoti
toliau paklauskite, kaip tvarkomas signalizavimas, susiejimas ir ryšio būsenos matomumas.
paklauskite, kokie serveriai vis dar naudojami ir ar jų vaidmuo ribotas bei suprantamai paaiškintas.
atidžiai įvertinkite leidimus, tarpinio serverio veikimą ir informaciją apie privatumą, užuot manę, kad vien technologijos pavadinimo pakanka.
Techninis patikrinimas
- Ar aišku, kodėl reikia leidimų mikrofonui, kamerai ir vietiniam tinklui?
- Ar produktas paaiškina, kaip įrenginiai randa vienas kitą ir pradeda sesiją?
- Ar tarpinio serverio veikimas pateikiamas suprantamai, o ne kaip magija?
- Ar tėvai gali matyti paprastai ir aiškiai apibūdintą ryšio būseną?
- Ar architektūra paaiškinama plačiau nei vien fraze „naudojame WebRTC“?
Dažniausiai užduodami klausimai
Kas yra WebRTC kūdikių monitoriuje?
WebRTC – tai technologija, skirta šifruotam ryšiui tarp įrenginių realiuoju laiku. Ji perduoda garsą ir vaizdą bei, priklausomai nuo tinklo, gali veikti tiesiogiai arba per tarpinį serverį.
Ar TURN serveris gali matyti kūdikių monitoriaus vaizdą?
TURN serveris persiunčia paketus, kai tiesioginis maršrutas neprieinamas. Mediją saugo WebRTC perdavimo šifravimas, o serveryje ji nelaikoma kaip įrašas.
Kodėl WebRTC taip pat reikia signalizavimo?
Prieš pradedant medijos kanalo veikimą, įrenginiai turi apsikeisti ryšio duomenimis. Šis signalizavimas taip pat turėtų būti apsaugotas, jo duomenys saugomi tik tiek, kiek būtina, o užmezgus ryšį – pašalinti.
Šaltiniai ir papildoma informacija
- Darbo su WebRTC pradžia · WebRTC
- WebRTC API · MDN Web Docs
- MediaDevices: getUserMedia() · MDN Web Docs
- Prašyti programėlės leidimų · Android Developers
- Prašymas suteikti prieigą prie apsaugotų išteklių · Apple Developer Documentation
- Anoniminis autentifikavimas naudojant „Firebase“ · Firebase Documentation
- NSLocalNetworkUsageDescription · Apple Developer Documentation
- Babyphone Timmy saugumas ir architektūra · Babyphone Timmy