צינור עיבוד וידאו ללא שרת עם AWS MediaConvert
פלטפורמת הווידאו נדרשה לדרך ניתנת להרחבה וחסכונית לטיפול בעומסי עבודה משתנים של קידוד, מתקופות שקטות עם מעט העלאות ועד לתקופות שיא עם מאות משימות בו-זמניות.
דון בפרויקט שלך
האתגר
תשתית קידוד בעלת קיבולת קבועה הייתה או בעלת הקצאת יתר (יקרה) או בעלת הקצאת חסר (איטית):
- עומסי עבודה של קידוד היו משתנים מאוד ובלתי צפויים
- תקופות שיא יכלו לראות נפח של פי 100 מהרגיל בזמן השקות תוכן
- הפעלת שרתי קידוד ייעודיים 24/7 הייתה יקרה בתקופות שקטות
- כשלים במשימות דרשו זיהוי אוטומטי וניסיון חוזר ללא התערבות ידנית
הפתרון שלנו
יישמנו צינור קידוד ללא שרת באמצעות טריגרים של AWS Lambda ו-AWS MediaConvert לעיבוד וידאו גמיש ובתשלום לפי שימוש.
ארכיטקטורה
- טריגר: פונקציית AWS Lambda המנטרת אירועי העלאה ל-S3
- קידוד: AWS MediaConvert עם תבניות משימה ספציפיות לשותפים
- הודעות: ActiveMQ/STOMP לעדכוני סטטוס משימה אסינכרוניים
- ניטור: NestJS encoder backend העוקב אחר התקדמות המשימה
- אחסון: AWS S3 עבור נכסי קלט/פלט
זרימת הצינור
- אירוע S3 - העלאת וידאו מפעילה פונקציית Lambda
- תצורת משימה - Lambda קוראת פרופיל שותף ובונה משימת MediaConvert
- הגשה - משימת MediaConvert מוגשת עם הגדרות פלט מתאימות
- מעקב התקדמות - הודעות STOMP מעבירות סטטוס ל-encoder backend
- השלמה - נכסי פלט נשמרים ב-S3, מטאדאטה מתעדכנת ב-MongoDB
- טיפול בשגיאות - משימות כושלות נכנסות לתור לניסיון חוזר עם exponential backoff
תכונות מפתח
- עלות סרק אפסית - Lambda ו-MediaConvert גובות תשלום רק עבור שימוש בפועל
- הרחבה גמישה - מטפל ב-1 עד 1000+ משימות קידוד בו-זמניות
- תבניות שותפים - תבניות משימת MediaConvert מוגדרות מראש לכל שותף
- מונע אירועים - אירועי S3 מפעילים באופן אוטומטי זרימות עבודה של קידוד
- ניטור מקיף - מעקב אחר סטטוס משימה, משך וטעויות
תוצאות
מחסנית טכנולוגית
caseStudyDetail.more מקרי בוחן
גלה עוד מהיישומים הטכניים שלנו
הזרקת פרסומות בצד הלקוח (CSAI) עם ניתוח סמני SCTE-35 ושילוב נגן מרובה פלטפורמות
פלטפורמת הזרמת וידאו נזקקה ליישם הזרקת פרסומות בצד הלקוח (CSAI) על פני יישומי אינטרנט, מובייל וטלוויזיות חכמות — המאפשרת חוויות פרסום מותאמות אישית ברמת המכשיר עם תמיכה מלאה באינטראקציה עם פרסומות (שכבות-על ניתנות ללחיצה, באנרים נלווים, כפתורי דילוג) שאותן הזרקה בצד השרת אינה יכולה לספק.
צינור איתות לסמני פרסומות SCTE-35 והכנסת טריילרים למדיה
חברת מדיה סטרימינג נזקקה לצינור עבודה אוטומטי ויציב להזרקת סמני פרסומות SCTE-35 לזרמי שידור חי ו-VOD, יחד עם היכולת להכניס טריילרים פרסומיים (pre-roll, mid-roll, ו-post-roll) במיקומים מדויקים בזמן — מה שמאפשר מונטיזציה בערוצי FAST, אירועים חיים, וספריות תוכן לפי דרישה.
שאלות נפוצות
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.
מוכן לשנות את העסק שלך?
בואו נדון כיצד נוכל ליישם פתרונות דומים לאתגרים שלך.