В настоящей статье мы реализуем систему видеосвязи на основе технологии WebRTC. Для реализации бэкенда мы будем использовать Go, а для фронтенда Vue 3. Что такое WebRTC? Эта технология, которая позволяет передавать потоковые данные (аудио и видео как раз относится к таким) между браузерами клиентов напрямую, без посредников, по технологии точка-точка (peer-to-peer). Современные браузеры поддерживают эту технологию и нам не потребуются никакие дополнительные расширения или установленные приложения. Проблемы WebRTC Несмотря на все преимущества технологии WebRTC, она обладает некоторыми недостатками. Давайте разбирать. Вспомогательные данные Для установки и поддержания WebRTC-соединения, нужно как-то передавать вспомогательные данные между браузерами, а технология никак не регламентирует это. В настоящей статье мы напишем websocket-сервер на Go, который сможет передавать между браузерами вспомогательные данные. Ограничения NAT Из-за повсеместного применения технологии NAT, браузерам, зач