Безсерверний конвеєр обробки відео за допомогою AWS MediaConvert
Відеоплатформа потребувала масштабованого та економічно ефективного способу обробки змінних навантажень кодування, від спокійних періодів з невеликою кількістю завантажень до пікових часів із сотнями одночасних завдань.
Обговоріть Ваш Проєкт
Виклик
Інфраструктура кодування з фіксованою потужністю була або надмірною (дорого), або недостатньою (повільно):
- Навантаження кодування були дуже змінними та непередбачуваними
- У пікові періоди обсяг міг перевищувати норму у 100 разів під час запуску контенту
- Цілодобова робота виділених серверів кодування була дорогою в періоди низької активності
- Збої завдань потребували автоматичного виявлення та повторного запуску без ручного втручання
Наше Рішення
Ми впровадили безсерверний конвеєр кодування, використовуючи тригери 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 пропорційно до їхнього фактичного обсягу обробки.
Готові Трансформувати Свій Бізнес?
Давайте обговоримо, як ми можемо застосувати подібні рішення для ваших завдань.