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.
Questions fréquemment posées
MicrocosmWorks designed a segmented processing architecture where Step Functions orchestrate the pipeline: Lambda functions split source videos into segments, AWS MediaConvert handles the actual transcoding without Lambda timeout constraints, and a final Lambda stitches the output. This hybrid approach keeps the serverless cost model while supporting videos of any duration.
MicrocosmWorks measured a 70-85% cost reduction for bursty video processing workloads compared to running dedicated EC2 encoding instances. The serverless pipeline incurs zero cost when idle and scales to hundreds of concurrent jobs during peak periods, with AWS MediaConvert's per-minute pricing eliminating the need to provision for peak capacity.
MicrocosmWorks configured AWS Step Functions with per-step retry policies and exponential backoff, ensuring that a failed transcode step retries automatically without restarting the entire pipeline. Each stage writes intermediate outputs to S3, so recovery resumes from the last successful checkpoint rather than reprocessing from the source file.
MicrocosmWorks optimized the pipeline for near-real-time use cases with cold start mitigation using provisioned concurrency on critical Lambda functions and MediaConvert reserved transcoding slots. For live workflows, the pipeline achieves 2-5 minute end-to-end latency from upload to delivery, which is suitable for clip extraction and highlights distribution.
MicrocosmWorks builds serverless video infrastructure at rates of $25-$45/hr, with a complete MediaConvert-based pipeline including Step Functions orchestration, S3 lifecycle management, and monitoring typically requiring 250-400 development hours. The architecture's pay-per-use model means clients only pay AWS costs proportional to their actual processing volume.
PrĂŞt Ă Transformer Votre Entreprise ?
Discutons de la façon dont nous pouvons appliquer des solutions similaires à vos défis.