Pipeline de traitement vidéo sans serveur avec AWS MediaConvert
La plateforme vidéo avait besoin d'un moyen évolutif et économique pour gérer des charges de travail d'encodage variables, des périodes calmes 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 sur-provisionné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
- Faire fonctionner des serveurs d'encodage dédiés 24h/24 et 7j/7 était coûteux 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 en utilisant les déclencheurs AWS Lambda et AWS MediaConvert pour un traitement vidéo élastique et à la demande (pay-per-use).
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 du statut des tâches
- Surveillance : Backend d'encodeur NestJS suivant la progression des tâches
- Stockage : AWS S3 pour les actifs d'entrée/sortie
Flux du pipeline
- Événement S3 - Le téléchargement vidéo déclenche la fonction Lambda
- Configuration de la tâche - Lambda lit le profil 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 d'encodeur
- Achèvement - Les actifs de sortie sont stockés 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 un backoff exponentiel
Fonctionnalités clés
- Coût d'inactivité nul - Lambda et MediaConvert facturent uniquement 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 du statut, 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.