Streaming comme dans un blockbuster : Laravel-HLS entre en scène

Chez OBI Partner, on a l’habitude de sauver des projets comme Tom Cruise sauve le monde dans Mission Impossible. Mais cette fois, la mission est différente : streamer des vidéos sans que tout parte en fumée.

Parce que soyons clairs :

  • Les vidéos qui chargent en boucle, c’est comme un générique qui ne finit jamais.

  • Les bases de données qui pleurent, c’est digne d’un épisode de Dark.

  • Et les devs qui jurent “¡pero en mi máquina sí funciona!”, ça ressemble à une parodie mal doublée sur Netflix.

C’est là qu’apparaît notre héros : laravel-hls.

Le pitch

Laravel-HLS, c’est un package open source qui fait le job de producteur vidéo dans ton app Laravel :

  • Il convertit tes fichiers en flux HLS adaptatif grâce à ffmpeg.

  • Il ajoute du chiffrement AES-128, histoire que tes vidéos ne se baladent pas nues sur Internet.

  • Il bosse en queues Laravel, comme une équipe de montage qui ne bloque pas le tournage principal.

  • Et il te fournit directement la playlist .m3u8 pour diffuser ton film en streaming.

Bref : tu uploades une vidéo, et ça sort prêt pour Netflix (bon… en version artisanale ?).

Acte I : Installation

  1. Tu appelles le renfort via Composer :

    composer require achyutn/laravel-hls
  2. Tu balances la config dans ton projet :

    php artisan vendor:publish --provider="AchyutN\LaravelHLS\HLSProvider" --tag="hls-config" 
  3. Dans config/hls.php, tu règles le scénario : résolutions, bitrates, chiffrement, file d’attente, stockage…

  4. Tu ajoutes le trait à ton modèle vidéo :

    use AchyutN\LaravelHLS\Traits\ConvertsToHls;

    class Video extends Model {
    use ConvertsToHls;
    }

  5. Et BOOM : tu récupères ta playlist avec une simple route /hls/{id}/playlist.

Acte II : Les coulisses

Le chiffrement : comme dans tout bon thriller, il y a une clé secrète. Ici, AES-128 protège tes segments vidéo. Sans la clé → pas de lecture → pas de spoil.

Le montage parallèle : la conversion se fait en arrière-plan avec les jobs Laravel. Ton serveur web n’a donc pas besoin d’être Rambo pour gérer le rendu vidéo.

Le déploiement : tu peux intégrer ça dans ton pipeline CI/CD, pour lancer automatiquement les conversions dès qu’un fichier atterrit dans ton projet.

Acte III : Le plan d’action CI/CD

Exemple avec GitLab CI :

Ici, c’est comme une mission commando :

  • test vérifie que l’équipe est prête,

  • convert s’occupe du montage,

  • deploy diffuse le film à l’affiche ?️.

Bonus : Les spin-offs possibles

  • E-learning : tes cours passent en streaming sécurisé, plus de fuite de contenu.

  • VOD interne : tu deviens le Netflix du comité d’entreprise.

  • Événements live : conférences, concerts ou lotos en ligne (oui oui ?).

La suite de la saga

Laravel-HLS fonctionne déjà très bien, mais la suite pourrait inclure :

  • CMAF pour plus de compatibilité,

  • DRM niveau “Hollywood”,

  • Scalabilité avec workers distribués,

  • Tableau de bord style IMDB pour suivre les conversions.

Conclusion

➡️ Si tu veux une forge CI/CD qui déploie tes apps comme un buffet, on a GitLab.
➡️ Si tu veux du modulaire façon food-truck, tu prends Gitea + Woodpecker.
➡️ Et si tu veux diffuser des vidéos façon Netflix, laravel-hls est ton acteur principal.

Chez OBI Partner, on aime dire :
“Pas besoin d’Hollywood, tant que ta vidéo sort en streaming, sans spoilers et sans écrans noirs.” ?

Alors, prêt à tourner ton premier blockbuster en Laravel ?

You may also like

Related posts

Write a comment
Your email address will not be published. Required fields are marked *
Scroll