Випадковий відеочат виглядає просто: натиснули кнопку, і на екрані з’явилася людина з іншого міста чи країни. За цією кнопкою стоїть кілька технологій, про які корисно знати. Розробнику це допоможе зрозуміти, як зробити подібний сервіс, а звичайному користувачу покаже, куди йде його відео і хто його бачить.
Як з’єднуються двоє людей
Більшість сучасних відеочатів працює на WebRTC. Це відкритий стандарт, вбудований у Chrome, Firefox, Safari та Edge, тому нічого встановлювати не треба. Відео і звук передаються напряму між двома браузерами, а сервер лише допомагає їм знайти один одного.
Спочатку сервер сигналізації, найчастіше на WebSocket, передає між учасниками технічний опис сесії (SDP): які кодеки підтримує браузер, яка роздільна здатність камери. Потім браузери через STUN-сервер дізнаються свою зовнішню IP-адресу і пробують з’єднатися напряму. Якщо заважає NAT мобільного оператора або корпоративний фаєрвол, трафік іде через TURN-сервер, який просто пересилає пакети. Для користувача все це займає секунду-дві.
Медіатрафік у WebRTC завжди шифрується протоколом DTLS-SRTP. Це обов’язкова вимога стандарту, вимкнути шифрування розробник не може навіть за бажання.
Що відбувається, коли ви натискаєте «Далі»
Сервіс тримає чергу людей, які шукають співрозмовника. Найпростіша логіка з’єднує першого вільного. Кращі сервіси враховують мову, країну, інтереси або стать, тому пошук іноді триває трохи довше, зате розмова частіше виходить цікавою для обох.
Модерація
Головна проблема відеочатів з часів першої Chatroulette завжди була в контенті. Люди-модератори фізично не встигають переглядати тисячі одночасних розмов, тому зараз використовують комп’ютерний зір. Нейромережа аналізує кадри і блокує порушника ще до того, як на нього поскаржаться. Нормальний відеочат поєднує автоматичну перевірку, скарги користувачів і живих модераторів для спірних випадків.
Реєстрація: потрібна чи ні
Сервіси без реєстрації популярніші, бо поріг входу нульовий. Відкрили сторінку, дозволили доступ до камери, і вже спілкуєтесь. Для приватності це теж плюс: платформа не зберігає ваш email чи номер телефону. Мінус у тому, що заблокованому порушнику легше повернутися, тому такі сайти сильніше покладаються на автоматичну модерацію.
Для прикладу, відеочат рулетка на VideoChat.com.ua запускається прямо в браузері на телефоні чи комп’ютері, акаунт не потрібен.
Як спілкуватися безпечно
Шифрування захищає розмову від сторонніх, але від самого співрозмовника воно не захищає. Екран можна записати, тому кілька простих правил не завадять:
- не називайте прізвище, адресу, місце роботи чи навчання;
- приберіть із кадру документи, конверти з адресою, вигляд із вікна, за яким можна впізнати будинок;
- не переходьте за посиланнями від незнайомців і не встановлюйте програми на їхнє прохання;
- якщо людина з першої хвилини наполягає перейти в месенджер, це привід насторожитися;
- скаржтеся на порушників, бо саме скарги допомагають навчати модерацію.
І окремо: відеочати з випадковими людьми розраховані на дорослих. Якщо в родині є діти, варто пояснити їм, чому такі сайти не для них.
Якщо хочете зробити свій
Стартовий набір для розробника невеликий: WebRTC API у браузері, сервер сигналізації на Node.js з WebSocket, публічний STUN-сервер і власний TURN, наприклад на coturn. Прототип на двох людей реально зібрати за вечір. Складнощі починаються з масштабом: найбільше грошей у продакшені йде на TURN-трафік і модерацію, а черга на тисячі одночасних користувачів потребує окремої архітектури.
Стаття розміщена на правах реклами