Безсерверний конвеєр обробки відео з AWS MediaConvert
Відеоплатформі потрібен був масштабований, економічно ефективний спосіб обробки змінних навантажень кодування, від періодів затишшя з невеликою кількістю завантажень до пікових годин із сотнями одночасних завдань.
Обговоріть Ваш Проєкт
Виклик
Інфраструктура кодування з фіксованою потужністю була або надмірно (дорого), або недостатньо (повільно) забезпечена:
- Навантаження кодування були дуже змінними та непередбачуваними
- Під час запуску контенту пікові періоди могли мати обсяг у 100 разів більший за звичайний
- Запуск виділених серверів кодування 24/7 був дорогим у періоди затишшя
- Збої завдань потребували автоматичного виявлення та повторної спроби без ручного втручання
Наше Рішення
Ми реалізували безсерверний конвеєр кодування, використовуючи тригери AWS Lambda та AWS MediaConvert для гнучкої, з оплатою за використання, обробки відео.
Архітектура
- Тригер: функція AWS Lambda, що відстежує події завантаження S3
- Кодування: AWS MediaConvert з шаблонами завдань, специфічними для партнера
- Обмін повідомленнями: ActiveMQ/STOMP для асинхронного оновлення статусу завдань
- Моніторинг: бекенд кодера на NestJS, що відстежує хід виконання завдань
- Зберігання: AWS S3 для вхідних/вихідних об'єктів
Потік конвеєра
- Подія S3 - Завантаження відео запускає функцію Lambda
- Конфігурація завдання - Lambda зчитує профіль партнера та створює завдання MediaConvert
- Відправлення - Завдання MediaConvert відправляється з відповідними налаштуваннями виводу
- Відстеження прогресу - Повідомлення STOMP передають статус бекенду кодера
- Завершення - Вихідні об'єкти зберігаються в S3, метадані оновлюються в MongoDB
- Обробка помилок - Невдалі завдання ставляться в чергу на повторне виконання з експоненційною затримкою
Ключові особливості
- Нульова вартість простою - 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 розробила архітектуру сегментованої обробки, де Step Functions керують конвеєром: Lambda-функції розділяють вихідні відео на сегменти, AWS MediaConvert виконує фактичне транскодування без обмежень за тайм-аутом Lambda, а фінальна Lambda зшиває результат. Цей гібридний підхід зберігає безсерверну модель витрат, підтримуючи відео будь-якої тривалості.
MicrocosmWorks виміряла зниження витрат на 70-85% для пікових робочих навантажень з обробки відео порівняно із запуском виділених екземплярів кодування EC2. Безсерверний конвеєр не несе жодних витрат у стані простою та масштабується до сотень паралельних завдань під час пікових періодів, а похвилинна оплата AWS MediaConvert усуває необхідність попереднього забезпечення пікової потужності.
MicrocosmWorks налаштував AWS Step Functions з політиками повторних спроб для кожного кроку та експоненціальною затримкою, забезпечуючи, що невдалий крок транскодування автоматично повторюється без перезапуску всього конвеєра. Кожен етап записує проміжні вихідні дані в S3, тому відновлення продовжується з останньої успішної контрольної точки, замість повторної обробки з вихідного файлу.
MicrocosmWorks оптимізував pipeline для near-real-time варіантів використання із cold start mitigation, застосовуючи provisioned concurrency на критично важливих Lambda functions та MediaConvert reserved transcoding slots. Для live workflows, pipeline досягає end-to-end latency у 2-5 хвилин від upload до delivery, що підходить для clip extraction та highlights distribution.
MicrocosmWorks створює безсерверну відеоінфраструктуру за тарифами $25-$45/год, при цьому повний пайплайн на базі MediaConvert, що включає оркестрацію Step Functions, управління життєвим циклом S3 та моніторинг, зазвичай потребує 250-400 годин розробки. Модель архітектури 'оплата за використання' означає, що клієнти сплачують лише витрати AWS пропорційно до їхнього фактичного обсягу обробки.
Готові Трансформувати Свій Бізнес?
Давайте обговоримо, як ми можемо застосувати подібні рішення для ваших завдань.