Details
| Title | Разработка веб-сервиса P2P видео-звонков на основе алгоритма адаптивной передачи данных: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_01 «Технология разработки и сопровождения качественного программного продукта» = Development of a Web Service for P2P Video Calls Based on an Adaptive Bitrate Algorithm |
|---|---|
| Creators | Ильченко Арсений Андреевич |
| Scientific adviser | Павлов Евгений Алексеевич |
| Organization | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
| Imprint | Санкт-Петербург, 2026 |
| Collection | Выпускные квалификационные работы ; Общая коллекция |
| Subjects | WebRTC ; P2P-видеосвязь ; адаптивная передача данных ; конечный автомат ; управление перегрузками ; P2P video calling ; adaptive bitrate ; finite state machine ; congestion control |
| Document type | Bachelor graduation qualification work |
| Language | Russian |
| Level of education | Bachelor |
| Speciality code (FGOS) | 09.03.04 |
| Speciality group (FGOS) | 090000 - Информатика и вычислительная техника |
| DOI | 10.18720/SPBPU/3/2026/vr/vr26-2173 |
| Rights | Доступ по паролю из сети Интернет (чтение, печать, копирование) |
| Additionally | New arrival |
| Record key | ru\spstu\vkr\42736 |
| Record create date | 8/21/2026 |
Allowed Actions
–
Action 'Read' will be available if administrator prepare required files
Action 'Download' will be available if you login or access site from another network
| Group | Anonymous |
|---|---|
| Network | Internet |
Рассматривается задача обеспечения устойчивого качества видеосвязи реального времени в браузерных одноранговых соединениях в условиях изменяющихся характеристик сети - от сравнительного анализа архитектурных решений и протоколов до экспериментальной проверки на реальном стенде. Разработанный сервис реализован как клиент-серверное вебприложение: клиентская часть выполнена на React и Vite с использованием нативного WebRTC API, сигнальный сервер - на языке Go с библиотекой gorilla/websocket, для прохождения NAT применяются публичные STUNсерверы и собственный TURN-сервер coturn; кодирование медиапотоков выполняется кодеками VP9 и Opus. Алгоритмическое ядро построено на конечном автомате из трёх состояний (STABLE, DEGRADING, RECOVERING) с механизмом гистерезиса, согласованно и независимо управляющем битрейтом, разрешением и частотой кадров видеопотока. Последовательно решены задачи анализа предметной области, разработки концепции и алгоритма адаптивной передачи данных, проектирования и реализации сервиса, а также экспериментального исследования его эффективности. На реальном стенде «ноутбук - смартфон» в режиме relay при резком ухудшении канала разработанный алгоритм удерживает средний RTT 2139 мс против 4885 мс у штатного механизма Google Congestion Control (снижение более чем вдвое) и меньшую долю замираний (15 % против 19 %), восстанавливается в среднем за 2,3 с, а в благоприятных условиях обеспечивает коэффициент использования полосы 0,77 при нулевых потерях.
The work addresses the problem of maintaining stable quality of real-time peer-to-peer video communication in browser environments under varying network conditions, from a comparative analysis of architectures and protocols through experimental evaluation on a real testbed. The service is implemented as a clientserver web application: the client uses React and Vite together with the native WebRTC API; the signaling server is built in Go with the gorilla/websocket library; NAT traversal relies on public STUN servers and a self-hosted coturn TURN server; media is encoded with VP9 and Opus codecs. The algorithmic core is a three-state finite state machine (STABLE, DEGRADING, RECOVERING) with a hysteresis mechanism that controls bitrate, resolution, and frame rate in a coordinated yet independent manner. The tasks of domain analysis, design of the adaptive bitrate algorithm, implementation of the service, and experimental evaluation of its effectiveness were carried out sequentially. On a real testbed (laptop - smartphone, relay mode), under abrupt bandwidth drops the proposed algorithm holds the average RTT at 2139 ms versus 4885 ms for the baseline Google Congestion Control mechanism (more than a twofold reduction) and yields a lower freeze ratio (15% vs. 19%), recovers within 2.3 s on average, and under favorable conditions achieves a bandwidth utilization coefficient of 0.77 with zero packet loss.
| Network | User group | Action |
|---|---|---|
| ILC SPbPU Local Network | All |
|
| Internet | Authorized users SPbPU |
|
| Internet | Anonymous |
|