Publié le : 30/07/2020

Tutoriel pour apprendre à coder un streamer vidéo basique en Haskell et à le déployer sur Heroku

Introduction

Haskell est un classique dans le monde de la recherche sur les langages de programmation, mais il fournit également un écosystème agréable pour développer des applications concrètes. En effet, c’est un langage très expressif, et qui dispose de nombreuses bibliothèques. De plus, il est purement fonctionnel et repose sur un système de types évolué, ce qui lui permet d’éviter de nombreuses sources de bugs.

L’objectif de ce tutoriel est d’illustrer l’utilisation de Haskell sur une petite application concrète (de l’implémentation jusqu’au déploiement), ainsi que les avantages apportés par le langage (lisibilité de code, sûreté de développement…). L’application présentée ici est un streamer vidéo basique dont le code source est disponible en ligne. Il s’agit d’une version simplifiée d’un projet réel, qui a également donné lieu à une présentation dans un meetup.

Présentation du projet

L’objectif du projet est de réaliser un système de streaming vidéo permettant de diffuser une région de son écran via une connexion réseau à faible débit montant.

L’architecture envisagée est composée :

  • d’un serveur web streamer-serve, qui fournit aux spectateurs une page web et le flux d’images, en HTTP ;
  • d’un programme streamer-record, qui s’exécute sur la machine du diffuseur pour prendre des captures d’écran et les envoyer au server web, via un websocket.
Image non disponible

On notera que cette application ne diffuse pas de son, ni même de véritable flux vidéo (avec compression temporelle), mais uniquement des images successives.

Image non disponible

Vous pouvez voir l’intégralité du tutoriel chez developpez.com

Les mots clés rattachés à cet article : Haskell  -  Heroku  -  Streaming

Nos clients

Une vingtaine de clients nationaux et internationaux