Описание
Описания нет
Задачи
•Развивать медиасервер для видеокомнат на Node.js, TypeScript и mediasoup, а также сервис записи на GStreamer и FFmpeg
•Поддерживать передачу медиа через WebRTC, сигнализацию по WebSocket и API на Fastify
•Анализировать качество звонков: задержку, RTT, jitter, потерю пакетов, битрейт, FPS и работу кодеков
•Развивать адаптацию видеопотоков к качеству сети и возможностям устройств участников, включая выбор качества и слоёв видео
•Исследовать проблемы со звуком, в том числе влияние шумоподавления на качество речи
•Обеспечивать работу звонков в разных сетях: передачу медиа по UDP и резервное подключение через TCP/TLS и TURN при сетевых ограничениях
•Находить ограничения производительности больших комнат на стороне сервера и клиентов, проводить нагрузочные испытания
•Повышать надёжность записи: разбирать рассинхрон аудио и видео, потерю фрагментов и сбои обработки; поддерживать загрузку записей в S3-совместимое хранилище
•Развивать отказоустойчивость сервисов: обеспечивать восстановление после сбоев и бесшовное обновление без прерывания активных звонков и записей
•Писать тесты и поддерживать запуск сервисов в Docker
Требования
•Уверенный опыт серверной разработки на Node.js и TypeScript
•Практический опыт с WebRTC и понимание SDP, RTP и RTCP
•Опыт работы с mediasoup или другим SFU-медиасервером
•Понимание ICE, STUN/TURN и прохождения NAT, умение диагностировать проблемы подключения в корпоративных и ограниченных сетях
•Понимание UDP и TCP и их влияния на задержку и качество медиапотоков
•Понимание того, как кодеки, разрешение, FPS и битрейт влияют на качество, задержку и нагрузку
•Опыт обработки аудио и видео с помощью FFmpeg и/или GStreamer
•Опыт работы с Docker и автоматизированными тестами
Будет плюсом
•Опыт разработки сервисов записи звонков или видеоконференций
•Знание Opus, VP8, VP9 и H.264
•Опыт работы с simulcast, SVC, адаптивным выбором качества видео, NACK и FEC
•Понимание архитектур SFU и MCU и способов масштабирования групповых звонков
•Опыт настройки и эксплуатации TURN-серверов, например coturn
•Опыт построения отказоустойчивых сервисов с обновлением без остановки активных сессий
•Опыт работы с S3-совместимыми хранилищами и нагрузочного тестирования WebRTC-сервисов
Условия
•Аккредитованная IT компания
•Насыщенная корпоративная жизнь: хакатоны, корпоративные игры, выезды на природу
•Корпоративная библиотека для повышения hard и soft skills
•Внутренние обучения (своя Академия GreenData) и возможность оплаты внешних обучений
•Социальный пакет
•ДМС, английский язык
•Оформление по ТК РФ
•Конкурентная з/п по результатам собеседования