🚀 Mission

Développer une plateforme de live streaming hébérgée en multi-cloud qui soit ultra scalable.

👍 Résultat

Création d’une app mobile et d’un site web permettant de streamer et de regarder des chaines en direct ou en replay, avec moins de 8 secondes de latence, à plusieurs dizaines de milliers en simultané, avec montage vidéo en live sur des serveurs avec GPU et avec des outils d’engagement (chat, restream, tipping, …)

Contact

📝 Notes

Seize TV, c’est une plateforme de live streaming développée entre 2018 et 2020.

Backend

  • Architecture full micro-services
  • Micro-services écrits en go
  • Micro-services hébérgés derrière une API Gateway
  • Communication du côté back en GRPC
  • Communication du côté front en GraphQL
  • Redis par micro-service
  • MongoDB par micro-service
  • Broker RabbitMQ pour communication inter micro-services
  • Backoffice via un bot Slack maison

Architecture

  • Kubernetes
  • Service mesh Istio (en cours de déploiement)
  • Déploiement de l’infra via Terraform
  • Déploiements produit via Spinnaker et Helm
  • CI/CD via CircleCI et GCR
  • Hébérgement du code sur 93 repositories sur github.com/Seize
  • Logs avec Prometheus et Grafana
  • Front immuable hébérgé sur GCS

Frontend

  • Vue.js
  • Lazy loading des components
  • Discussion GraphQL avec l’API Gateway

Mobile

  • React Native
  • Natif Java et Objective-C pour le player et le broadcaster
  • Discussion GraphQL avec l’API Gateway

Video

  • Pod Ingress RTMP en go loadé dynamiquement à la connexion via k8s
  • Load-balancer voyager devant les sources handlers
  • Pod Studio de mixage vidéo temps réel sur GPU k80 codé en C++ basé sur libobs.c
  • Pod transcode HLS ABR en go sur CDN Google
  • Pod restream RTMP en go

Product

  • UI sous Affinity Designer
  • UX sous Sketch
  • Prototyping sous Principle et Marvel
  • User research sous Typeform et Marvel
  • User analytics sous Amplitude
  • Product Managment sous Product Board

Outils externes

  • GitHub
  • CircleCI
  • Sendgrid
  • Algolia
  • Firebase
  • Headway
  • Zendesk
  • Statuspage
  • Pingdom
  • JIRA
  • Product Board
  • Typeform
  • Marvel
  • Amplitude

📲 Demo

Seize TV, c’était une App mobile pour les spectateurs et les streamers. Les chaînes pouvaient donner la parole aux spectateurs qui devenaient alors streamers.

Seize TV, c’était une App web pour les spectateurs et les gestionnaires de chaînes. Les gestionnaires de chaînes organisaient leur diffusion avec plusieurs streamers, elles pouvaient activer le tipping à 0%, gérer leur replay, etc…

Voici une démo des deux apps :

Vous avez un projet ?

Contactez-nous

Nous pouvons être opérationnels d'ici quelques jours 🚀

Contact