Medienkonverter-Dienst

Fallübersicht

Dies ist ein cloudbasierter Medienkonvertierungsdienst, der Video- und Audiodateien in das HLS-Streaming-Format mit adaptiver Bitratenunterstützung umwandelt. Das System überwacht eine SQS-Warteschlange auf neue Dateien, startet für jede eine Kubernetes-Job und erzeugt ein vollständiges Set an m3u8-Playlists und .ts-Segmenten, die für jeden modernen Videoplayer bereit sind.


Es unterstützt mehrere Videoauflösungen, mehrere Bitratenstufen für Audio und verarbeitet Videos mit mehreren Audiospuren – einschließlich unterschiedlicher Sprachen oder Kommentare. Der Dienst arbeitet gleichzeitig für mehrere Projekte und organisiert die Ausgaben in separaten Ordnern auf S3, basierend auf Projekt oder Herausgeber.

Ziel: Einen vollautomatischen Dienst erstellen, der jede Video- oder Audiodatei ohne manuelles Eingreifen in das HLS-Format umwandelt – über mehrere Projekte hinweg, verschiedene Inhaltstypen handhabend und im Leerlauf auf null skalierend.

Image

Wichtige Projektinformationen

Branchen

Branchen

Medien & Unterhaltung, Video-Streaming-Plattformen, OTT- & Rundfunkdienste, Digital Publishing, Content Delivery Networks – jedes Unternehmen, das Video- oder Audioinhalte an Endbenutzer über verschiedene Geräte und unterschiedliche Netzwerkbedingungen liefern muss.

Dienstleistungen

Dienstleistungen

SQS-Warteschlangenverarbeitung mit Long Polling und Verwaltung von Sichtbarkeits-Timeouts, FFmpeg- & FFprobe-Mediatranskodierung und Stream-Analyse, Kubernetes-Job-Orchestrierung mit temporären Volumes und Node Affinity, parallele S3-Upload-Pipeline mit Vor-Upload-Bereinigung.

Lösungen

Lösungen

Multi-Auflösungs-HLS-Video – 1080p, 720p, 480p, 360p, 240p mit adaptiver Bitrate, Multi-Bitrate-Audio-HLS – 32, 64, 96, 128, 192 kbps Stufen pro Audiospur, automatische Erkennung aller Audiostreams mit Sprachmetadaten, Thumbnails bei 2-Sekunden-Marke, niedrigauflösende MP4-Vorschau, MP3- und WAV-Kopien.

Technologien

Technologien

AWS SQS, S3, Kubernetes, FFmpeg, FFprobe, H.264, AAC/HE-AAC, HLS/m3u8, NVIDIA NVENC, Intel Quick Sync, EC2 Auto Scaling, Docker, Helm

Herausforderungen

Viele Ausgabeformate
aus einer Eingabe

Viele Ausgabeformate aus einer Eingabe

Eine einzelne Videodatei kann Hunderte von Dateien erzeugen – fünf Videoauflösungen, fünf Audio-Bitraten pro Audiospur, plus Thumbnails und Vorschauen. Wir mussten das alles sauber organisieren und schnell hochladen.

Mehrere Audiostreams pro Videodatei

Mehrere Audiostreams pro Videodatei

Einige Videos haben mehrere Audiotracks in verschiedenen Sprachen. Das System musste alle automatisch erkennen, jeden einzeln umwandeln und eine Master-Playlist erstellen, die jeden Track mit dem richtigen Sprach-Tag referenziert.

Warteschlangen-Zuverlässigkeit
und Wiederholungslogik

Warteschlangen-Zuverlässigkeit und Wiederholungslogik

Bei SQS muss man Duplikate, Sichtbarkeits-Timeouts und fehlgeschlagene Jobs korrekt handhaben. Wenn ein Job fehlschlägt, sollte die Nachricht zur Wiederholung zurück in die Warteschlange. Wenn dieselbe Datei zweimal in der Warteschlange ist, sollten wir sie nicht erneut verarbeiten.

Verwaltung auf Kubernetes

Verwaltung auf Kubernetes

Jeder Konvertierungsjob verbraucht viel CPU und Speicher. Wir mussten temporäre Volumes, Node-Affinity-Regeln und eine ordentliche Aufräumlogik einrichten, damit sich Jobs nicht stauen oder blockieren.

Mehrprojekt-Isolation auf S3

Mehrprojekt-Isolation auf S3

Der Dienst läuft für mehrere Projekte gleichzeitig. Jedes braucht seinen eigenen Ausgabeordner auf S3, und wir mussten sowohl verlagerspezifische als auch serienbasierte Ordnerstrukturen unterstützen, ohne etwas zu zerstören.

Automatische Codec-
Wahl

Automatische Codec- Wahl

Nicht jede Maschine verfügt über GPU-Beschleunigung. Das System musste erkennen, welche Codecs verfügbar sind – NVIDIA, Intel Quick Sync, AMD oder nur Software – und automatisch den besten auswählen.

Der Prozess

Die gesamte Pipeline läuft völlig automatisiert ab – vom Moment, in dem eine Datei auf S3 landet, bis der finale HLS-Ausgang zur Wiedergabe bereitsteht. Jeder Schritt übergibt sauber an den nächsten mit eingebauten Sicherungen gegen Fehlfunktionen, Duplikate und Ressourcen-Konflikte. Unten sehen Sie, wie das System eine Datei durch den kompletten Konvertierungszyklus bewegt.

Warteschlangenabfrage

Warteschlangenabfrage

Der Job-Manager läuft auf Kubernetes und überwacht die SQS-Warteschlange mit Long Polling. Wenn eine Nachricht eintrifft, analysiert er den S3-Bucket und den Objekt-Schlüssel, um die Quelldatei zu identifizieren.

Duplikatvermeidung

Duplikatvermeidung

Bevor ein neuer Job erstellt wird, prüft der Manager, ob ein Kubernetes-Job für dieselbe Datei bereits existiert. Falls ja, wird die Nachricht mit Verzögerung erneut in die Warteschlange gestellt, um doppelte Verarbeitung zu verhindern.

Kubernetes-Job-Erstellung

Kubernetes-Job-Erstellung

Ein neuer Pod wird aus einer Vorlage mit korrekten Ressourcenlimits, Node-Affinity für ARM-basierte Instanzen und temporären Volumes für temporäre Dateien, Eingabe, Ausgabe und Logs erstellt.

Video- & Audiokonvertierung

Video- & Audiokonvertierung

FFmpeg wandelt Video in fünf HLS-Auflösungen (1080p→240p) mit 4-Sekunden-Segmenten um. Jede Audiospur wird erkannt und in fünf Bitratenstufen – 32 bis 192 kbps – konvertiert.

Master-Playlist-Erstellung

Master-Playlist-Erstellung

Eine einzelne m3u8-Masterdatei referenziert alle Videoauflösungen und Audiotracks mit Sprachmetadaten – ermöglicht adaptives Streaming und Sprachwechsel in jedem modernen Player.

Upload, Bereinigung & Autoscaling

Upload, Bereinigung & Autoscaling

Alle Dateien werden parallel über einen 500-Thread-Pool auf S3 hochgeladen. Alte HLS-Segmente werden vor dem Ankommen des neuen Sets bereinigt. Der Autoscaler skaliert Knoten auf null, sobald die Warteschlange leer ist.

Lösungen

Die wichtigsten Merkmale der Lösung

  • Adaptives Bitraten-Video - 5 Stufen —240p (300 kbps) → 1080p (5000 kbps) in einer Playlist. Automatische Qualitätsauswahl basierend auf Verbindungsgeschwindigkeit.

  • Mehrspur-Audio mit Sprach-Tags — Erkennt und konvertiert alle Audiospuren, einschließlich Kommentare und Beschreibungen, während die Sprachmetadaten erhalten bleiben.

  • Automatische Codec-Erkennung — Verwendet NVIDIA-/Intel-/AMD-Beschleunigung oder eine Software-Fallback-Lösung, wenn keine GPU vorhanden ist.

  • Kostenloses Idle-Autoscaling — EC2-Knoten fahren herunter auf null, wenn die Warteschlange leer ist. Aktive Jobs sind vor vorzeitiger Beendigung geschützt.

  • Multi-Projekt S3-Isolation — Jedes Projekt hat seinen eigenen S3-Ausgabepfad. Unterstützt sowohl publisher- als auch serienbasierte Ordnerstrukturen.


Image

Ergebnisse in Zahlen

Video-Qualitätsabdeckung

1080p

Fünf adaptive Bitratenstufen von 240p bei 300 kbps bis zu Full HD 1080p bei 5000 kbps — der Player wechselt die Qualität automatisch basierend auf der Verbindungsgeschwindigkeit.

Parallele Upload-Threads

500x

Hunderte von Ausgabedateien — Segmente, Playlists, Thumbnails, Vorschauen — werden gleichzeitig über einen Thread-Pool nach S3 hochgeladen, um die Lieferzeit minimal zu halten.

HLS Segmentdauer

4 Sek.

Vier-Sekunden-HLS-Segmente balancieren die Geschwindigkeit des adaptiven Wechsels mit der Pufferungseffizienz aus — der Player reagiert innerhalb eines einzelnen Segmentgrenzen auf Netzwerkänderungen.

Audio-Bitrate-Stufen pro Spur

5x

Jede Audiospur — einschließlich Kommentar und Beschreibung — erhält bis zu fünf Qualitätsstufen von 32 kbps (HE-AAC) bis 192 kbps (LC-AAC) mit Lautstärkenormalisierung.

Erstellen Sie eine skalierbare Medienpipeline für Ihre Plattform!

Erhalten Sie ein vollautomatisches HLS-Konvertierungssystem, das mit Ihren Inhalten skaliert – und wir helfen Ihnen, die optimale Architektur für Ihr Projekt zu finden.

Message not sent.
Message not sent.
×
Nicht sicher, wo Sie anfangen sollen? Wir helfen Ihnen, die nächsten Schritte zu planen!
Einwilligung zur Verarbeitung personenbezogener Daten
×
Haben Sie eine Herausforderung? Unser Team verwandelt sie in eine Lösung.
Einwilligung zur Verarbeitung personenbezogener Daten