TL;DR: Накатили свою платформу для видеозвонков на Laravel + WebRTC. До 1000 человек в комнате, без лимитов времени, разворачивается за час на VPS. Коробочная версия + облако. Ищем тестировщиков, которые будут ломать и критиковать.

Главная страница лендинга Meet-Up с описанием основного функционала и преимуществ
Главная страница лендинга Meet-Up с описанием основного функционала и преимуществ

Disclaimer: ещё один велосипед

Да, мы знаем. На рынке есть Zoom, TrueConf, VideoMost, VK Teams и ещё десяток решений.

Но когда на очередном созвоне коллега 20 минут не может подключиться, а ты платишь за функции типа "3D-аватары" и "встречи в метавселенной", которыми никто не пользуется - начинаешь думать.

А можно ли проще?

Спойлер: можно.


Боль, которую мы решаем

Проанализировали топ-20 российских платформ ВКС.

Вот что бесит:

1. Функционал, которым не пользуются

Платформы перегружены фичами. При этом 90% юзеров используют:

  • Видео

  • Аудио

  • Демонстрацию экрана

  • Чат

Всё остальное - ballast, который съедает ресурсы и усложняет интерфейс.

2. Лимиты там, где их быть не должно

  • Zoom: 40 минут на бесплатном (серьёзно?)

  • Многие платформы: до 100-250 участников

  • Некоторые: ограничение на количество созвонов в месяц

3. Коробочные версии - боль

Хочешь развернуть у себя на сервере?

Либо нет такой опции вообще, либо enterprise-тариф с NDA и процессом согласования на месяцы.

4. Качество на слабых каналах

WebRTC работает, но многие платформы его плохо оптимизируют. Интернет 5 Мбит/с? Добро пож��ловать в слайд-шоу.


Что сделали мы?

Главная страница Meet-Up
Главная страница Meet-Up

Meet-Up - это:

Архитектура

  • Frontend: HTML5 + JavaScript (чистый, без React - быстрее грузится)

  • Backend: Laravel 10 (PHP 8.1+)

  • Real-time: Node.js + Socket.io

  • Video: WebRTC (с fallback на TURN-сервер)

  • Database: MySQL

  • Вспомогательное: Python 3.9 (обработка медиа, аналитика)

Почему именно этот стек?

Laravel:

  • Быстрый старт

  • Хорошая документация

  • Встроенная security из коробки

  • Легко масштабируется

WebRTC:

  • Нативная поддержка в браузерах

  • P2P там где можно (меньше нагрузка на сервер)

  • SFU для больших комнат (1000 участников)

Socket.io:

  • Real-time без костылей

  • Auto-reconnect

  • Работает даже через прокси

Системные требования (минимальные)

VPS/VDS:

  • 2 ядра CPU (~3GHz)

  • 6 GB RAM

  • SSL (Let's Encrypt подойдёт)

  • PHP 8.1+, Node.js 16+, MySQL

При такой конфигурации:

  • До 1000 участников в одной комнате

  • До 10 параллельных комнат

  • Качество видео до 4K

Масштабирование - добавляем серверы горизонтально.


Функционал (без воды)

Базовые фичи:

✅ Мгновенные встречи - создал комнату за 2 клика
✅ Запись на устройство (не в облако - GDPR-friendly)
✅ Screen sharing (весь экран или окно)
✅ Whiteboard (рисуем вместе)
✅ File sharing (без лимитов на размер*)
✅ Chat (чат с участниками + ChatGPT/Claude/Gemini/DeepSeek и тд интеграции)
✅ Picture-in-picture
✅ Горячие клавиши (M - mute, V - камера, и т.д.)

* лимит только по месту на сервере

Для админов:

  • Управление ролями и доступами

  • Кастомизация UI (цвета, логотипы)

  • Настройка лимитов (если нужно)

  • Мониторинг нагрузки

  • Логи всех подключений

Безопасность:

  • TLS для всех соединений

  • E2E шифрование (опционально, если нужен P2P)

  • 2FA для входа

  • Password-protected rooms

  • Waiting room (модератор пропускает участников)


    Два варианта деплоя

    1. Облачная SaaS-версия

    Плюсы:

    • Не нужен свой сервер

    • Обновления автоматические

    • Поддержка 24/7

    Минусы:

    • Данные на наших серверах (хотя в РФ)

    Для тех, кому нужно быстро начать без настройки инфраструктуры.

    2. Коробочная версия (on-premise)

    # Деплой за 4 шага:

    1. Клонируем репо

      git clone

    2. Настраиваем .env

      cp .env.example .env

      nano .env # указываем DB, домен, SSL

    3. Запускаем установщик

      ./install.sh

    4. Готово

      # Сервис доступен на вашем домене

    Время установки: 40-60 минут (если руки из нужного места)

    Плюсы:

    • Данные у вас

    • Кастомизация на уровне кода

    • Интеграция с вашей инфраструктурой

    • Полный контроль

    Минусы:

    • Нужен сервер

    • Вы отвечаете за обновления

    • Техподдержка - платная опция


    Сравнение с конкурент��ми (функционал)

    Критерий

    Zoom

    TrueConf

    VideoMost

    Meet-Up

    Коробка

    Нет

    Да

    Да

    Да (GPL)

    Лимит времени

    40 мин*

    Нет

    Нет

    Нет

    Участников

    100

    120

    До 500

    До 1000**

    Серверы РФ

    Нет

    Да

    Да

    Да

    Open source

    Нет

    Нет

    Нет

    Частично***

    WebRTC

    Да

    Да

    Да

    Да

    Деплой

    N/A

    Сложный

    Средний

    Простой

    *на бесплатном тарифе

    ** при минимальной конфигурации сервера

    *** коробочная версия - открытый код, облако - proprietary

    Подробное сравнение с конкурентами - Презентация.


    Что под капотом (для интересующихся)

    WebRTC - не всё так просто

    Проблема №1: NAT Traversal

    Многие сидят за NAT. Прямое P2P-соединение не работает.

    Решение:

    STUN-сервер (пытаемся пробить NAT)
    Если не получилось → TURN-сервер (relay трафика)

    Мы подняли свой TURN на Coturn.

    Проблема №2: Масштаб��рование

    P2P работает до ~5-7 участников. Дальше - экспоненциальный рост трафика.

    Решение:

    SFU (Selective Forwarding Unit):

    • Каждый участник отправляет стрим на сервер

    • Сервер раздаёт стримы остальным

    • Траффик растёт линейно, не экспоненциально

    Используем mediasoup (Node.js SFU).

    Проблема №3: Качество на слабых каналах

    Решение:

    // Adaptive bitrate
    if (connectionSpeed < 1Mbps) {
      setVideoQuality('360p');
    } else if (connectionSpeed < 3Mbps) {
      setVideoQuality('720p');
    } else {
      setVideoQuality('1080p');
    }
    
    // + Simulcast (несколько качеств одновременно)
    // Сервер выбирает лучшее для каждого участника

    Socket.io для сигналинга

    // Клиент
    socket.emit('join-room', { roomId, userId });
    
    // Сервер
    socket.on('join-room', ({ roomId, userId }) => {
      socket.join(roomId);
      socket.to(roomId).emit('user-connected', userId);
    });

    Просто и работает.

    Почему Laravel, а не Node.js fullstack?

    Laravel:

    • Админка, авторизация, тарифы - из коробки

    • ORM удобнее чем в Node

    • Быстрее писать бизнес-логику

    Node.js:

    • Real-time (Socket.io)

    • WebRTC SFU (mediasoup)

    • Микросервис, отдельно от основного приложения

    Лучшее из двух миров!


    Что уже работает

    Облачная версия: meet-up.space

    Что можно:

    • Создать комнату

    • Пригласить до 1000 человек

    • Писать в чат участникам (общение с ИИ отключено на время теста)

    • Делиться экраном

    • Рисовать на доске

    • Записывать встречу

    PWA-версия:

    • Ставится как приложение в Chrome

    • Работает офлайн (кеширование статики)

    • Push-уведомления

    Коробочная версия:

    • Готовый дистрибутив

    • Документация

    • Docker-compose для быстрого старта


    Ищем тестировщиков (и критиков)

    Что мы предлагаем:

    ✅ Полный доступ ко всем функциям в период тестирования
    ✅ Приоритетная поддержка
    ✅ Влияние на roadmap (ваши фичи в приоритете)
    ✅ Возможность участвовать в развитии продукта
    ✅ Преференции при запуске (детали обсудим с участниками)

    Что нужно от вас:

    📝 Честный фидбек
    🐛 Баг-репорты
    💡 Идеи (что не хватает, что бесит)
    🔥 Нагрузочное тестирование (соберите 100+ человек на созвон)

    Что мы особенно хотим протестировать:

    • Стабильность на 500+ участниках

    • Качество на слабых каналах (3G, медленный Wi-Fi)


    Roadmap (что планируем)

    Q1 2026:

    • ✅ Базовый функционал (готово)

    • ✅ Коробочная версия (готово)

    • ✅ White-label версия (полный ребрендинг)

    • 🔄 Бета-тестирование (сейчас здесь)

    Q2 2026:

    • 🔄 API для интеграций

    • 🔄 Мобильные приложения (iOS, Android)

    • Запись в облако (опционально)

    • Breakout rooms

    Q3 2026:

    • AI-транскрибация встреч

    • AI-саммари (краткое содержание)

    • Автоматические субтитры

    • Субтитры с переводом спикера на выбранный язык созвона

    • Шумоподавление (AI)

    Q4 2026:

    • Enterprise-фичи (SSO, LDAP)

    • Аналитика и отчёты


    Технические вопросы (FAQ)

    Q: Какую нагрузку держит один сервер?
    A: Минимальная конфигурация (2 ядра, 6GB RAM): до 1000 участников на 1 ядро в одной комнате ИЛИ ~10 комнат по 100 человек. Масштабируется горизонтально.

    Q: TURN-сервер свой или сторонний?
    A: Свой, на Coturn. В коробочной версии можно указать свой.

    Q: Какие браузеры поддерживаются?
    A: Все современные (Chrome, Firefox, Safari, Edge, Opera). IE - нет.

    Q: Работает на мобильных?
    A: Через браузер - да. Нативные приложения - в roadmap.

    Q: Сколько жрёт трафика?
    A:

    • Видео 720p: ~1-2 Мбит/с

    • Видео 1080p: ~3-4 Мбит/с

    • Аудио: ~50-100 Кбит/с

    Q: GDPR / 152-ФЗ?
    A: Серверы в РФ. Логи минимальные. Запись - на устройство пользователя (не храним). Коробочная версия - вы полностью контролируете данные.


    Регистрация на бета-тестирование

    Ссылка: meet-up.space

    Заключение

    Мы не делаем революцию. Мы делаем видеосвязь, которая:

    • Не лагает

    • Не перегружена ненужными фичами

    • Разворачивается при необходимости за час

    • Просто работает

    Если вы:

    • DevOps, который хочет контролировать инфраструктуру

    • Стартап, которому нужна простая видеосвязь

    • Компания, которой нужны данные внутри контура

      Welcome aboard!

    Ломайте, критикуйте, комментируйте, предлагайте...


    Автор: команда Code263
    Контакты: hello@code263.ru

    P.S. Созвоны — это 30% рабочего времени. Если они бесят — вы теряете треть жизни впустую. Meet-Up не сделает созвоны приятными (это невозможно). Но мы сделаем их НЕ-бесящими и с балансом по простоте/доступности. Уже прогресс.

    P.P.S. Да, мы знаем про Jitsi. Пробовали. Слишком сложно деплоить и кастомизировать. Наш вариант — проще.