Pipeline de traitement vidéo sans serveur avec AWS MediaConvert
La plateforme vidéo avait besoin d'un moyen évolutif et rentable de gérer des charges de travail d'encodage variables, des périodes creuses avec peu de téléchargements aux périodes de pointe avec des centaines de tâches simultanées.
Discutez de Votre Projet
Le Défi
L'infrastructure d'encodage à capacité fixe était soit surprovisionnée (coûteuse), soit sous-provisionnée (lente) :
- Les charges de travail d'encodage étaient très variables et imprévisibles
- Les périodes de pointe pouvaient atteindre 100 fois le volume normal lors des lancements de contenu
- L'exécution de serveurs d'encodage dédiés 24h/24 et 7j/7 était coûteuse pendant les périodes creuses
- Les échecs de tâches nécessitaient une détection et une nouvelle tentative automatiques sans intervention manuelle
Notre Solution
Nous avons mis en œuvre un pipeline d'encodage sans serveur utilisant des déclencheurs AWS Lambda et AWS MediaConvert pour un traitement vidéo élastique et au paiement à l'usage.
Architecture
- Déclencheur : fonction AWS Lambda surveillant les événements de téléchargement S3
- Encodage : AWS MediaConvert avec des modèles de tâches spécifiques aux partenaires
- Messagerie : ActiveMQ/STOMP pour les mises à jour asynchrones de l'état des tâches
- Surveillance : backend d'encodeur NestJS suivant la progression des tâches
- Stockage : AWS S3 pour les ressources d'entrée/sortie
Flux du pipeline
- Événement S3 - Le téléchargement de vidéo déclenche la fonction Lambda
- Configuration de la tâche - Lambda lit le profil du partenaire et construit la tâche MediaConvert
- Soumission - La tâche MediaConvert est soumise avec les paramètres de sortie appropriés
- Suivi de la progression - Les messages STOMP relaient le statut au backend de l'encodeur
- Achèvement - Les ressources de sortie sont stockées dans S3, les métadonnées sont mises à jour dans MongoDB
- Gestion des erreurs - Les tâches échouées sont mises en file d'attente pour une nouvelle tentative avec une interruption exponentielle
Fonctionnalités clés
- Coût d'inactivité nul - Lambda et MediaConvert ne facturent que l'utilisation réelle
- Mise à l'échelle élastique - Gère de 1 à plus de 1000 tâches d'encodage concurrentes
- Modèles partenaires - Modèles de tâches MediaConvert préconfigurés par partenaire
- Piloté par les événements - Les événements S3 déclenchent automatiquement les flux de travail d'encodage
- Surveillance complète - Suivi de l'état, de la durée et des erreurs des tâches
Résultats
Stack Technologique
caseStudyDetail.more Études de Cas
Découvrez plus de nos implémentations techniques
Insertion d'annonces côté client (CSAI) avec analyse des marqueurs SCTE-35 et intégration de lecteurs multiplateformes
Une plateforme de streaming vidéo devait implémenter l'insertion d'annonces côté client (CSAI) sur les applications web, mobiles et de télévision connectée — permettant des expériences publicitaires personnalisées au niveau de l'appareil avec un support complet d'interaction publicitaire (superpositions cliquables, bannières complémentaires, boutons de saut) que l'insertion côté serveur ne peut pas offrir.
Signalisations des marqueurs publicitaires SCTE-35 et pipeline d'insertion de bandes-annonces média
Une société de médias en streaming avait besoin d'un pipeline robuste et automatisé pour injecter des marqueurs publicitaires SCTE-35 dans les flux en direct et VOD, ainsi que de la capacité d'insérer des bandes-annonces promotionnelles (pre-roll, mid-roll et post-roll) à des positions précisément chronométrées – permettant la monétisation sur les chaînes FAST, les événements en direct et les bibliothèques de contenu à la demande.
PrĂŞt Ă Transformer Votre Entreprise ?
Discutons de la façon dont nous pouvons appliquer des solutions similaires à vos défis.