Перейти к основному содержимому

6 P2P видеосвязь за NAT

🎯 Общая характеристика проекта

АтрибутЗначение
ТипПрограммный проект (учебный)
Максимальная оценка8,2 балла (учебный проект)
ОписаниеИсследование: обход NAT и фаерволов. Продукт: система P2P-видеосвязи между двумя узлами за NAT без центрального сервера передачи данных.
Цель продуктаРеализация устойчивого P2P-соединения для передачи видеопотока между двумя клиентами за NAT с использованием технологий STUN/TURN/ICE, WebRTC или аналогов.
Целевая аудиторияРазработчики коммуникационных систем, системы видеонаблюдения, децентрализованные приложения, IoT-устройства, частные пользователи.
Технологии (рекомендуемые)WebRTC (или самостоятельная реализация на UDP), STUN, TURN (опционально), ICE, UDP hole punching, Python/Node.js/C++, FFmpeg, WebSockets, Docker, NAT-симуляция.

📅 Поэтапные требования к проекту


📌 Этап 1: Выбор темы

Дата: 19.01.2026
Формат: Онлайн-форма
Документы: Форма

🔹 Требования к защите

  • Подтверждён выбор темы 1-6.
  • Сформирована команда (до 2 человек).
  • Определены роли участников.
  • Подтверждено понимание задачи и принципов обхода NAT.
КритерийВесОписание
Выбор темы1%Формальное подтверждение выбора темы, формирования команды и распределения ролей. Оценка выставляется при условии своевременной подачи формы.

📌 Этап 2: Представление проекта

Дата: 31.01.2026
Формат: Презентация
Документы: Слайды, ТЗ

🔹 Требования к защите

  • Чётко сформулированы:
    • Проблема: невозможность прямого P2P-соединения между устройствами за NAT.
    • Решение: система установления P2P-видеосвязи с использованием STUN/ICE/WebRTC.
    • Целевая аудитория.
  • Описаны технологии и архитектура системы.
  • Представлен план реализации.
  • Подтверждено согласование подхода с заказчиком.
КритерийВесОписание
Продукт25%Постановка цели, видение законченного продукта: как работает система, где применяется, как устанавливается соединение
Польза25%Обоснование необходимости: почему P2P важен (низкая задержка, масштабируемость, приватность), как система решает проблему NAT
Пользователь20%Описание целевой аудитории внутри и вне МИЭМ, количественная оценка, рынки применения (IoT, видеонаблюдение, коммуникации)
Технологии20%Обоснованный выбор стека: WebRTC, STUN, UDP hole punching, сигнальный сервер, Docker, симуляция NAT
Развитие10%Перспективы развития: интеграция с камерами, коммерциализация, поддержка групповых вызовов, ВКР

📌 Этап 3: PoC (Proof of Concept)

Дата: 21.02.2026
Формат: Демонстрация + видео + репозиторий
Документы: Git, видео

🔹 Требования к защите

  • Экспериментально подтверждена техническая реализуемость:
    • Установление UDP-соединения между двумя клиентами за NAT (через STUN или hole punching).
    • Передача тестовых данных (например, эхо-пакетов).
    • Симуляция NAT (например, через Docker-сети).
  • Демонстрация минимальной работоспособности.
  • Видео (до 3 минут) с демонстрацией установления соединения.
  • Код выложен в репозиторий с README.
КритерийВесОписание
Техническая реализуемость60%Подтверждение, что выбранный подход (STUN/WebRTC/hole punching) позволяет установить P2P-соединение за NAT
Демонстрация20%Наличие видео, показывающего процесс установления соединения и обмен данными между клиентами
Код и документация20%Наличие репозитория с рабочим кодом, README, инструкцией по запуску и описанием архитектуры PoC (включая симуляцию NAT)

📌 Этап 4: Прототип

Дата: 16.03.2026
Формат: Демонстрация + отчет + репозиторий
Документы: Демо, отчет, git

🔹 Требования к защите

  • Реализован прототип:
    • Установление P2P-соединения с использованием STUN/ICE.
    • Передача видеопотока (например, через WebRTC или UDP-пакеты с H.264).
    • Визуализация соединения (например, отображение видео на втором клиенте).
    • Наличие сигнального сервера (WebSocket/HTTP) для обмена SDP.
  • Демонстрация работы в реальном времени.
  • Отчёт с описанием архитектуры, протоколов, схемы обхода NAT.
КритерийВесОписание
Реализация функционала40%Поддержка установления P2P-соединения, передача видеопотока, визуализация на приёмнике
Интеграция25%Успешная интеграция сигнального сервера, STUN, медиапотока (WebRTC или самописный), работа за симулированным NAT
Демонстрация20%Работающий демо-стенд, показ установления связи и передачи видео
Документация15%Наличие отчёта с описанием архитектуры, протоколов, API сигнального сервера, инструкций по запуску

📌 Этап 5: MVP (Minimal Viable Product)

Дата: 11.04.2026
Формат: Работающий продукт + отзыв + отчет + git
Документы: Отзыв, отчет, git

🔹 Требования к защите

  • Продукт может быть запущен и использован без участия разработчика.
  • Поддержка всех базовых функций:
    • Автоматическое установление P2P-соединения.
    • Передача видеопотока с камеры или файла.
    • Отображение видео на втором клиенте.
    • Работа за NAT (в т.ч. симуляция).
    • Наличие простого UI (веб-интерфейс или CLI с инструкцией).
  • Наличие документации пользователя и разработчика.
  • Получен отзыв пользователя.
КритерийВесОписание
Продукт30%Готовность продукта: отчуждаемость, выполнение базовых функций, работа за NAT без посредника
Документация разработчика20%Наличие спецификации MVP/MUP, описание архитектуры, API, протоколов, текущего результата
Запуск и работа30%Продукт запускается без разработчика, не требует несвойственных действий от пользователя, работает в фоне
Документация пользователя20%Полная инструкция по установке, настройке, запуску вызова, устранению неисправностей

📌 Этап 6: MUP (Minimal Usable Product)

Дата: 16.05.2026
Формат: Асинхронная защита + консультация
Документы: Отзыв, отчет, git

🔹 Требования к защите

  • Продукт внедрён в тестовую среду (например, между двумя устройствами в разных сетях).
  • Пользователь самостоятельно использует весь функционал.
  • Получен отзыв о реальном использовании.
  • Документация дополнена на основе фидбэка.
  • Созданы маркетинговые материалы.
КритерийВесОписание
Отзыв пользователя30%Удобство использования, стабильность соединения, качество видео, задержка, простота запуска
Функциональность30%Полная реализация всех функций: установление, передача, отображение, устойчивость к переподключению
Документация пользователя20%Наличие полной, понятной документации с установкой, навигацией, сценариями использования и устранением неисправностей
Маркетинг20%Наличие лендинга, продуктового ролика, раздатки или презентации, адаптированных под целевую аудиторию

📌 Этап 7: Защита проекта

Дата: 06.06.2026 или 13.06.2026
Формат: Презентация + демо + отзывы
Документы: Слайды, демо, отзывы

🔹 Требования к защите

  • Презентация пользовательского опыта.
  • Демонстрация работы продукта (включая сценарии установления и разрыва соединения).
  • Представление отзывов пользователей.
  • Подача заявки на РИД.
  • Ответы на вопросы.
КритерийВесОписание
Представление20%Маркетинговый стиль, ясность, логичность, отсутствие научного стиля, фокус на пользе и кейсах
Маркетинг20%Качество лендинга, ролика, раздатки — соответствие продуктовому жанру, наличие кейсов применения
Впечатления пользователей30%Удобство, стабильность, низкая задержка, простота установки и использования
Завершённость30%Полная документация, функциональность, наличие дистрибутива (Docker, deb), ссылки на код, расширенный функционал (например, поддержка TURN, аудио, групповых вызовов)

Вложения