ManyCam

Владелец:
Visicom Media Inc, Канада
Платформы:
Windows, macOS, iOS, Android, Web
База пользователей:
более 100 миллионов загрузок
Сайт:
О проекте
ПО для веб-камеры, которое позволяет улучшать ваши видео и создавать прямые трансляции на нескольких платформах одновременно. Среди источников реализованы веб камеры, IP камеры, захват рабочего стола, захват игр, мультимедиа файлы как офлайн, так и онлайн, сетевая передача с мобильных устройств и видео звонки. Начало разработки состоялось в 2006 году. В команде 20+ сотрудников.
  • C++17, Qt 5 Widgets, CMake
  • Активно занимаемся ускорением приложения на GPU (DirectX/Metal/аппаратные кодеки), а также другими оптимизациями, включая низкоуровневую нативную разработку под все платформы
  • Широкий набор используемых технологий и протоколов в области медиа и графики: Media Foundation, DirectShow, DirectX/Metal, RTMP, WebRTC, AVFoundation
  • Активно развивается направление прикладного Machine Learning в области Computer Vision (в частности виртуальный фон): как непосредственно обучения (Pytorch), так и деплоя (OpenVINO, CoreML, WinML)
  • CI/CD: jenkins, активно переходим на Gitlab CI, GitFlow
  • Планируем мигрировать на плагинную архитектуру
  • Есть комплект автоматизированных UI тестов, работающих на API, предоставляемом приложением
  • Много кода на Java, весь новый код пишется на Kotlin
  • RxJava2 (ещё не везде, но мы стараемся)
  • Используем архитектуру MVVM, DI-фреймворк Dagger
  • Вся логика обработки видео реализована на GPU (OpenGL), включая аппаратные кодеки
  • Потоковое видео на основе RTMP
  • Активно развивается направление видеозвонков и чатов с использованием WebRTC и кастомных протоколов и серверов (WebSocket)
  • В будущем планируется Machine Learning
  • Более миллиона установок, больше 100000 активных пользователей
  • Мы любим рефакторинг
  • PHP7, MySQL, Yii, новую логику переносим на микросервисы на Laravel, Gitlab CI
  • Веб-сервисы на golang и redis для нотификаций и чатов для большого числа клиентов
  • 15+ серверов для БД, веба, сервисов с горизонтальным масштабированием
  • Активное использование возможностей Amazon Cloud: AWS SES, WAF, Auto Scaling, Balancing
  • Elasticsearch и Kibana для сбора и отображения аналитики