AWS MediaConvert ile Sunucusuz Video İşleme Hattı
Video platformu, az yüklemeli sakin dönemlerden yüzlerce eş zamanlı işin olduğu yoğun zamanlara kadar değişken kodlama iş yüklerini yönetmek için ölçeklenebilir, uygun maliyetli bir yola ihtiyaç duyuyordu.
Projenizi Tartışın
Zorluk
Sabit kapasiteli kodlama altyapısı ya fazla sağlanmış (maliyetli) ya da yetersiz sağlanmıştı (yavaş):
- Kodlama iş yükleri oldukça değişken ve öngörülemezdi
- İçerik lansmanları sırasında yoğun dönemlerde normal hacmin 100 katı görülebilirdi
- Özel kodlama sunucularını 7/24 çalıştırmak, sakin dönemlerde pahalıydı
- İş hatalarının otomatik olarak algılanması ve manuel müdahale olmadan yeniden denenmesi gerekiyordu
Çözümümüz
Esnek, kullandıkça öde video işleme için AWS Lambda tetikleyicilerini ve AWS MediaConvert'ı kullanarak sunucusuz bir kodlama hattı uyguladık.
Mimari
- Tetikleyici: S3 yükleme olaylarını izleyen bir AWS Lambda fonksiyonu
- Kodlama: İş ortağına özel iş şablonlarına sahip AWS MediaConvert
- Mesajlaşma: Asenkron iş durumu güncellemeleri için ActiveMQ/STOMP
- İzleme: İş ilerlemesini takip eden NestJS kodlayıcı arka ucu
- Depolama: Giriş/çıkış varlıkları için AWS S3
Hattın Akışı
- S3 Olayı - Video yüklemesi Lambda fonksiyonunu tetikler
- İş Yapılandırması - Lambda, iş ortağı profilini okur ve MediaConvert işini oluşturur
- Gönderim - Uygun çıktı ayarlarıyla MediaConvert işi gönderilir
- İlerleme Takibi - STOMP mesajları durumu kodlayıcı arka ucuna iletir
- Tamamlama - Çıktı varlıkları S3'te depolanır, metadata MongoDB'de güncellenir
- Hata İşleme - Başarısız işler, üstel geri çekilme ile yeniden denemek üzere sıraya alınır
Temel Özellikler
- Sıfır Boşta Maliyet - Lambda ve MediaConvert yalnızca gerçek kullanım için ücret alır
- Esnek Ölçeklendirme - 1 ila 1000'den fazla eş zamanlı kodlama işini yönetir
- İş Ortağı Şablonları - Her iş ortağı için önceden yapılandırılmış MediaConvert iş şablonları
- Olay Odaklı - S3 olayları kodlama iş akışlarını otomatik olarak tetikler
- Kapsamlı İzleme - İş durumu, süresi ve hata takibi
Sonuçlar
Teknoloji Yığını
caseStudyDetail.more Vaka Çalışmaları
Daha fazla teknik uygulamamızı keşfedin
İstemci Tarafında Reklam Ekleme (CSAI), SCTE-35 İşaretleyici Ayrıştırma ve Çok Platformlu Oynatıcı Entegrasyonu ile
Bir video akış platformu, sunucu tarafı reklam eklemenin sağlayamadığı tam reklam etkileşimi desteğiyle (tıklanabilir katmanlar, yardımcı banner'lar, atlama düğmeleri) kişiselleştirilmiş, cihaz düzeyinde reklam deneyimleri sunarak web, mobil ve akıllı TV uygulamaları genelinde Client-Side Ad Insertion (CSAI) uygulamasına ihtiyaç duyuyordu.
SCTE-35 Reklam İşaretleyicisi Sinyalleşmesi ve Medya Fragman Ekleme Hattı
Bir akış medya şirketinin, canlı ve VOD yayınlarına SCTE-35 reklam işaretleyicileri eklemek için sağlam, otomatik bir hattına ihtiyacı vardı. Ayrıca, tanıtım fragmanlarını (pre-roll, mid-roll ve post-roll) hassas zamanlanmış konumlara ekleyebilme yeteneği de isteniyordu — bu sayede FAST kanalları, canlı etkinlikler ve isteğe bağlı içerik kütüphaneleri genelinde para kazanma (monetization) sağlanacaktı.
Sıkça Sorulan Sorular
MicrocosmWorks, Step Functions'ın pipeline'ı orkestra ettiği bölümlenmiş bir işleme mimarisi tasarladı: Lambda fonksiyonları kaynak videoları segmentlere ayırır, AWS MediaConvert Lambda zaman aşımı kısıtlamaları olmaksızın asıl transcoding işlemini yapar ve son bir Lambda çıktıyı birleştirir. Bu hibrit yaklaşım, her türlü süredeki videoları desteklerken serverless maliyet modelini korur.
MicrocosmWorks, ani yoğunlaşan video işleme iş yükleri için özel EC2 kodlama örnekleri çalıştırmaya kıyasla %70-85 oranında maliyet düşüşü ölçtü. Sunucusuz işlem hattı, boşta olduğunda sıfır maliyet oluşturur ve yoğun dönemlerde yüzlerce eşzamanlı işe ölçeklenir; AWS MediaConvert'ın dakika başına fiyatlandırması sayesinde zirve kapasitesi için kaynak ayırma ihtiyacını ortadan kaldırır.
MicrocosmWorks, AWS Step Functions'ı adım başına yeniden deneme politikaları ve üstel geri çekilme (exponential backoff) ile yapılandırarak, başarısız bir kod dönüştürme adımının tüm pipeline'ı yeniden başlatmadan otomatik olarak yeniden denemesini sağlar. Her aşama ara çıktıları S3'e yazar, böylece kurtarma, kaynak dosyadan yeniden işlemek yerine son başarılı kontrol noktasından devam eder.
MicrocosmWorks, kritik Lambda functions üzerinde provisioned concurrency ve MediaConvert reserved transcoding slots kullanarak cold start mitigation ile boru hattını gerçek zamana yakın kullanım senaryoları için optimize etti. Canlı iş akışları için, boru hattı yüklemeden teslimata kadar 2-5 dakikalık end-to-end latency elde eder; bu da clip extraction ve highlights distribution için uygundur.
MicrocosmWorks, sunucusuz video altyapısını saatlik 25-45 dolar oranlarında kurar. Tipik olarak 250-400 geliştirme saati gerektiren, Step Functions orkestrasyonu, S3 yaşam döngüsü yönetimi ve izleme dahil eksiksiz bir MediaConvert tabanlı hat içerir. Mimarinin kullandıkça öde modeli, müşterilerin yalnızca gerçek işleme hacimleriyle orantılı AWS maliyetlerini ödediği anlamına gelir.
İşletmenizi Dönüştürmeye Hazır mısınız?
Zorluklarınıza benzer çözümler uygulamamızın yollarını konuşalım.