WebRTC е корисен за апликациите за бебефон бидејќи може сигурно да пренесува аудио и видео во живо. Но, тоа не е гаранција за квалитетот на целиот производ. Самата апликација сепак мора добро да ги реши безбедното спарување, разбирливите дозволи и јасното прикажување на статусот.
Краток речник
- Преземање медиумски содржини
- Апликацијата бара пристап до микрофонот и камерата за да може да презема звук и видео во живо од уредот.
- Врска меѓу уреди (Peer Connection)
- Врската преку која меѓу два уреди се пренесуваат аудио, видео и, по потреба, други податоци во живо.
- Канал за податоци
- Дополнителен канал за контролни пораки, како притискање на копчето за зборување или вклучување и исклучување на камерата.
- ICE / TURN
- Техники за поврзување што им помагаат на уредите да најдат функционален начин за комуникација преку рутери, NAT и мрежни ограничувања.
Поедноставена архитектура
Што обично се случува за време на WebRTC сесија со бебефон
Уредите разменуваат информации за поврзување
Преку сигнализацијата, двете страни дознаваат како можат меѓусебно да се поврзат.
Локално се одобрува пристап до микрофонот и камерата
Уредот ги вклучува микрофонот и, по избор, камерата само откако ќе се дадат соодветните дозволи.
Се избира директна врска или реле
ICE утврдува дали е можна директна врска или е потребна поддршка преку TURN реле.
Медиумите и контролните податоци патуваат паралелно
Аудиото и видеото работат во реално време, додека посебни контролни пораки може да се пренесуваат преку канал за податоци.
Зошто WebRTC добро одговара за бебефони
На бебефонот не му треба архива на пораки или систем за одложено прикачување. Му треба звук со мало доцнење, јасен статус во реално време и разумно однесување при променливи мрежни услови. Токму тука WebRTC има предност: пренос на медиуми во живо, поврзување меѓу уреди и можност за додавање посебен контролен канал.
Од гледна точка на родителите, тоа значи дека производ заснован на WebRTC обично се обидува директно да го реши проблемот со комуникацијата во живо, наместо да користи побавни или помалку соодветни механизми. Тоа е корисно. Но, само по себе не кажува ништо за тоа колку искрено е претставен производот, колку јасно се постапува со дозволите или колкав дел од архитектурата останува скриен.
Зошто сè уште постојат сервери, дури и кога се вели „peer-to-peer“
Тука многу родители застануваат, и тоа со право. „Peer-to-peer“ не значи дека никогаш не е вклучен сервер. Уредите прво треба да се најдат, да разменат податоци за поврзување и, во потешки мрежни услови, понекогаш да користат реле. Серверите за сигнализација и TURN серверите се вообичаени. Важно е за што се користат и колку јасно апликацијата го објаснува тоа.
Апликација за бебефон може да користи сервери и сепак да ја почитува приватноста, ако нивната улога е строго ограничена и добро објаснета. Проблемите почнуваат кога техничкото посредување се претвора во нејасно дефинирано складирање, лошо објаснета логика на корисничките сметки или скриено задржување на податоците.
| Составен дел на WebRTC | Зошто е важен за бебефон |
|---|---|
| getUserMedia | Го контролира пристапот до микрофонот и камерата, поради што дозволите се клучно прашање. |
| RTCPeerConnection | Ја пренесува медиумската сесија во реално време меѓу двата уреди. |
| ICE / TURN | Помага сесијата да продолжи кога рутерите и NAT ја отежнуваат директната комуникација. |
| DataChannel | Овозможува дополнителни контролни функции покрај главниот медиумски пренос. |
Што WebRTC не решава автоматски
WebRTC сам по себе не обезбедува безбедно спарување. Не одредува како производот постапува со идентитетот, колку долго остануваат достапни податоците за сигнализација или дали интерфејсот јасно го прикажува прекинот на врската. Затоа производот може навистина да користи WebRTC, а сепак да биде слаб или нетранспарентен токму во работите што им се најважни на родителите.
Практичниот заклучок е едноставен: „користи WebRTC“ е корисен показател, но не и крај на проценката. Потоа следува вистинската проверка — спарувањето, приватноста, дозволите, однесувањето при различни мрежни услови и искреноста во претставувањето на производот.
Прашањата за WebRTC што родителите навистина треба да ги постават
следно прашајте како се решени сигнализацијата, спарувањето и видливоста на статусот на врската.
прашајте кои сервери сè уште постојат и дали нивната улога е ограничена и разбирлива.
внимателно проверете ги дозволите, начинот на работа на релето и објаснувањата за приватноста, наместо да претпоставите дека е доволно само името на технологијата.
Проверка на техничката поставеност
- Дали е јасно зошто се потребни дозволи за микрофонот, камерата и локалната мрежа?
- Дали производот објаснува како уредите се поврзуваат и започнуваат сесија?
- Дали начинот на работа на релето е објаснет разбирливо, наместо да се претставува како нешто необјасниво?
- Дали статусот на врската им е прикажан на родителите јасно и разбирливо?
- Дали објаснувањето на архитектурата оди подалеку од едноставното тврдење „користиме WebRTC“?
Често поставувани прашања
Што е WebRTC кај еден бебефон?
WebRTC е технологија за шифрирани врски во реално време меѓу уреди. Пренесува аудио и видео и, зависно од мрежата, може да работи директно или преку реле-сервер.
Може ли TURN серверот да го види видеото од бебефонот?
TURN серверот препраќа пакети кога не е достапна директна врска. Медиумите остануваат заштитени со шифрирањето при пренос во WebRTC и на серверот не се чуваат како снимка.
Зошто на WebRTC му треба и сигнализација?
Уредите прво треба да разменат податоци за поврзувањето пред да може да започне медиумскиот канал. И сигнализацијата треба да биде заштитена, да се чува само колку што е неопходно и да се избрише по воспоставувањето на врската.
Извори и дополнително читање
- Започнување со WebRTC · WebRTC
- WebRTC API · MDN Web Docs
- MediaDevices: getUserMedia() · MDN Web Docs
- Барање дозволи за апликацијата · Android Developers
- Барање пристап до заштитени ресурси · Apple Developer Documentation
- Анонимна автентикација со Firebase · Firebase Documentation
- NSLocalNetworkUsageDescription · Apple Developer Documentation
- Безбедност и архитектура на Babyphone Timmy · Babyphone Timmy