Детальная информация
| Название | Разработка и контейнеризация самодостаточной платформы видеоконференций на основе WebRTC с архитектурой SFU и возможностью горизонтального масштабирования: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_01 «Технология разработки и сопровождения качественного программного продукта» = Development and Containerization of a Self-Hosted Video Conferencing Platform Based on WebRTC with SFU Architecture and Horizontal Scaling Capability |
|---|---|
| Авторы | Медведев Станислав Андреевич |
| Научный руководитель | Юсупова Ольга Андреевна |
| Организация | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
| Выходные сведения | Санкт-Петербург, 2026 |
| Коллекция | Выпускные квалификационные работы ; Общая коллекция |
| Тематика | WebRTC ; SFU ; mediasoup ; видеоконференции ; Docker ; Ansible ; control plane ; media node ; мобильное приложение ; video conferencing ; mobile application |
| Тип документа | Выпускная квалификационная работа бакалавра |
| Язык | Русский |
| Уровень высшего образования | Бакалавриат |
| Код специальности ФГОС | 09.03.04 |
| Группа специальностей ФГОС | 090000 - Информатика и вычислительная техника |
| DOI | 10.18720/SPBPU/3/2026/vr/vr26-3504 |
| Права доступа | Доступ по паролю из сети Интернет (чтение) |
| Дополнительно | Новинка |
| Ключ записи | ru\spstu\vkr\42697 |
| Дата создания записи | 21.08.2026 |
Разрешенные действия
–
Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
| Группа | Анонимные пользователи |
|---|---|
| Сеть | Интернет |
Выпускная квалификационная работа посвящена разработке и контейнеризации самодостаточной платформы видеоконференций на основе WebRTC и SFU, ориентированной на самостоятельное развёртывание и подключение дополнительных worker nodes/media nodes. В работе проведён анализ WebRTC, архитектур Mesh, MCU и SFU, существующих open-source платформ видеоконференцсвязи, а также ограничений контейнеризации и автоматизации развёртывания медиасерверов. На основе анализа спроектирована архитектура, включающая web frontend для регистрации пользователей и участия в конференциях, backend/control plane, медиаслой на базе mediasoup, базу данных, deployment-модуль на Ansible и мобильное административное приложение. Реализован прототип платформы на базе React, TypeScript, Node.js, NestJS, Socket.IO, mediasoup, PostgreSQL, Prisma и Docker/Docker Compose. Через мобильное приложение выполняются ввод SSH-параметров сервера, проверка доступности, запуск подключения worker node, отображение статуса установки и удаление узла. В результате подтверждена работоспособность пользовательских сценариев видеоконференции и административных сценариев подключения медиаузлов. Практическая значимость работы состоит в снижении сложности самостоятельного развёртывания и расширения WebRTC/SFU-инфраструктуры.
The bachelor thesis is devoted to the development and containerization of a self-hosted video conferencing platform based on WebRTC and SFU architecture, focused on independent deployment and connection of additional worker nodes/media nodes. The work analyzes WebRTC, Mesh, MCU and SFU architectures, existing open-source video conferencing platforms, and limitations related to containerization and automated deployment of media servers. Based on the analysis, an architecture is designed that includes a web frontend for user registration and conference participation, a backend/control plane, a mediasoup-based media layer, a database, an Ansible deployment module, and a mobile administrative application. A platform prototype is implemented using React, TypeScript, Node.js, NestJS, Socket.IO, mediasoup, PostgreSQL, Prisma and Docker/Docker Compose. The mobile application is used to enter SSH server parameters, verify availability, start worker node connection, display installation status, and remove a node. As a result, the operability of user video conferencing scenarios and administrative media node connection scenarios is confirmed. The practical significance of the work is the reduction of complexity in self-deployment and extension of WebRTC/SFU infrastructure.
| Место доступа | Группа пользователей | Действие |
|---|---|---|
| Локальная сеть ИБК СПбПУ | Все |
|
| Интернет | Авторизованные пользователи СПбПУ |
|
| Интернет | Анонимные пользователи |
|
- ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ
- ВВЕДЕНИЕ
- 1 Исследование предметной области
- 1.1 Технологические основы видеоконференций
- 1.1.1 WebRTC как стандарт real-time коммуникаций
- 1.1.2 Сравнительный анализ архитектур: Mesh, MCU, SFU
- 1.1.3 Протоколы сигналинга и NAT traversal
- 1.2 Обзор существующих open-source платформ
- 1.2.1 Jitsi Meet
- 1.2.2 BigBlueButton
- 1.2.3 Janus Gateway, mediasoup, Pion
- 1.2.4 LiveKit и Galène
- 1.3 Контейнеризация и масштабирование WebRTC-инфраструктуры
- 1.3.1 Docker для медиасерверов: преимущества и специфические проблемы
- 1.3.2 Горизонтальное масштабирование SFU: каскадирование, Redis, Kubernetes, STUNner
- 1.4 Автоматизация развёртывания и мобильные интерфейсы управления
- 1.4.1 Ansible как инструмент автоматизации
- 1.4.2 Паттерн мобильного приложения-оркестратора сервера
- 1.5 Выводы по главе
- 1.1 Технологические основы видеоконференций
- 2 Проектирование платформы видеоконференций с управляемым подключением медиаузлов
- 2.1 Постановка задачи проектирования
- 2.2 Требования к системе
- 2.3 Общая архитектура платформы
- 2.4 Обоснование выбора технологического стека
- 2.5 Проектирование подсистемы видеоконференций
- 2.6 Проектирование media-node-agent
- 2.7 Проектирование подсистемы автоматизированного развёртывания медиаузлов
- 2.8 Алгоритм выбора медиаузла для новой комнаты
- 2.9 Проектирование данных
- 2.10 Проектирование контейнеризации
- 2.11 Выводы по главе
- 3 Реализация платформы
- 3.1 Среда реализации
- 3.2 Структура программного проекта
- 3.3 Реализация frontend-приложения
- 3.4 Реализация мобильного административного приложения
- 3.5 Реализация backend/control plane
- 3.6 Реализация signaling-механизма
- 3.7 Реализация медиаслоя на mediasoup
- 3.8 Реализация контейнеризации
- 3.9 Реализация механизма добавления медиаузла
- 3.10 Тестирование
- 3.11 Результаты реализации
- 3.12 Выводы по главе
- ЗАКЛЮЧЕНИЕ
- СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ