# AWS und OBS Live-Streaming-Setup Erstellen Sie einen AWS Live-Workflow, konfigurieren Sie OBS, testen Sie die DRM-Wiedergabe und stoppen Sie die Ressourcen nach Ihrem Ereignis. Verschlüsselte Videos und DRM-Lizenzen werden getrennt übertragen Das CDN liefert verschlüsselte Videos. Ihr Backend prüft den Zugriff; der DRM-Lizenzdienst autorisiert die Entschlüsselung auf einem kompatiblen Gerät. - 01**Speicher / CDN** Liefert verschlüsselte Medien an den Player. - 02**Ihr Backend** Prüft die Zugriffsberechtigung des Zuschauers und fordert bei DRM-X die Wiedergabeautorisierung an. - 03**DRM-X** Validiert die Wiedergabeautorisierung und verarbeitet die DRM-Lizenzanfrage. - 04**Player + Gerät** Verwendet das DRM-System des Geräts, um eine Lizenz zu erhalten und die verschlüsselten Medien abzuspielen. Ihr Backend entscheidet über den Zugriff; DRM-X erzwingt die unterschriebene Richtlinie. Verschlüsselte Medien und DRM Lizenzen folgen getrennten Lieferwegen. Trial und kostenpflichtige Konten können Live-DRM-Kanäle erstellen. Für diesen Workflow ist keine S3-Speicherverbindung erforderlich. AWS Gebühren für Medienkodierung, Packaging, Lieferung und einbehaltene Ressourcen werden separat berechnet. Der Auslieferungsweg lautet OBS → AWS Elemental MediaLive → MediaPackage v2 → CloudFront → DRM-X-Player. DRM-X liefert Verschlüsselungsschlüssel über SPEKE und autorisiert jeden Zuschauer mit einem DRM License Token. ## Erstellen Sie ein Live-Event in DRM-X[#](#create-a-live-event) - Melden Sie sich bei der Kundenkonsole an und wählen Sie die Organisation und Umgebung aus, die die Veranstaltung durchführen soll. - Öffnen Sie **Live events → New Live Channel**. Geben Sie einen Titel ein. Wählen Sie für ein neues Konto **Create new live content** und geben Sie ein eindeutiges Content ID ein. Alternativ können Sie vorhandene Live-Inhalte auswählen. - Wählen Sie den AWS-Region, das Rotationsintervall und das DVR-Fenster. Verwenden Sie denselben AWS-Region für MediaLive, MediaPackage und die SPEKE-Brücke. Die Startwerte betragen 600 Sekunden für die Rotation und 7200 Sekunden für zurückgehaltene DVR-Medien. - Erstellen Sie den Kanal. Speichern Sie das einmalige Ursprungsgeheimnis sicher zusammen mit der Integration ID und den separaten Ressourcen-IDs DASH und HLS. Legen Sie das Geheimnis niemals in einen Player, einen Screenshot, ein Support-Ticket oder ein öffentliches Repository ab. Der Kanal DRM-X ist eine Inhalts- und Autorisierungskonfiguration. Das Starten eines DRM-X Live Run und das Starten des AWS-Encoders sind separate Vorgänge. ## Konfigurieren Sie Ihr AWS-Konto[#](#configure-aws) - Verwenden Sie ein AWS-Konto mit aktivierter Abrechnung und einem autorisierten Betreiber, der CloudFormation, MediaLive, MediaPackage v2, API Gateway, IAM Servicerollen und CloudFront verwalten kann. Informieren Sie sich vor Ihrer Probe über regionale Kontingente und aktuelle Preise. - Laden Sie die Vorlage [DRM-X AWS CloudFormation](https://6.drm-x.com/downloads/drmx-live-aws.yaml) von der Konsole herunter. Erstellen Sie den Stack mit `CreateMediaResources=false`, den DRM-X Integrations-/Ressourcen-IDs und dem Ursprungsgeheimnis. Die Vorlage erstellt bereichsbezogene Dienstrollen und eine IAM-autorisierte SPEKE-Brücke. - Geben Sie in DRM-X **Configure AWS** Ihr AWS-Konto ID und den genauen Stapelwert `SpekeRoleArn` ein. Starten Sie DRM-X Live Run, damit authentifizierte Schlüsselanfragen erfolgreich sein können. - Aktualisieren Sie denselben Stapel mit `CreateMediaResources=true`. Behalten Sie das vorhandene Geheimnis und andere Parameter bei. Warten Sie, bis der Stapel abgeschlossen ist. - Kopieren Sie die Stack-Ausgaben `DashOriginUrl`, `HlsOriginUrl`, `DashCloudFrontUrl` und `HlsCloudFrontUrl` in die passenden DRM-X-Felder. Zuschauer verwenden die CloudFront URLs. Der Ursprung bleibt auf CloudFront beschränkt. - Erstellen Sie einen MediaLive **RTMP push**-Eingang. Erlauben Sie nur die aktuelle öffentliche IP des Senders mit einer `/32`-Eingabesicherheitsregel. Eine von Ihrem ISP geänderte IP-Adresse erfordert eine Aktualisierung dieser Regel. - Erstellen Sie den Kanal MediaLive mit dem `MediaLiveRoleArn` des Stapels, hängen Sie den Eingang an und fügen Sie eine Ausgangsgruppe **MediaPackage v2 CMAF** unter Verwendung der Kanalgruppe und des Kanalnamens des Stapels hinzu. Für einen begrenzten Test eignet sich eine einzelne Pipeline. Eine Produktionsveranstaltung benötigt ein entsprechendes Redundanzdesign. Die Vorlage erzeugt DASH-CENC für Widevine und PlayReady und HLS-CBCS für FairPlay. Seine `PRESET_AUDIO_1` und `PRESET_VIDEO_3` belegen separate Audio-, SD-, HD- und UHD-Schlüssel. Bestehende Installationen, die `PRESET_VIDEO_2` verwenden, müssen eine Aktualisierung des Verschlüsselungsvertrags überprüfen, bevor sie UHD mit einer eindeutigen Richtlinie hinzufügen. See [AWS encryption presets](https://docs.aws.amazon.com/mediapackage/latest/userguide/drm-content-speke-v2-presets.html). ## Konfigurieren Sie OBS Studio für 4K[#](#configure-obs-for-4k) - Duplizieren Sie Ihr OBS-Profil und Ihre Szenensammlung. Geben Sie ihnen einen erkennbaren Live-Event-Namen. - Fügen Sie die gewünschte Video- oder Aufnahmequelle hinzu. Stellen Sie sicher, dass es tatsächlich 3840 x 2160 ist, passen Sie es an die Leinwand an und überprüfen Sie den Ton. Aktivieren Sie für eine Probedatei „Loop“. Blenden Sie ungenutzte Fenster- oder Desktop-Aufnahmen aus. - Stellen Sie in **Settings → Video** sowohl die Leinwand- als auch die Ausgabeauflösung auf `3840x2160` ein und wählen Sie für dieses Beispiel `30` fps. - Wählen Sie unter **Ausgabe → Erweitert → Streaming** einen unterstützten H.264 Hardware-Encoder aus, z. B. NVIDIA NVENC H.264. Verwenden Sie CBR `18000 Kbps`, ein Keyframe-Intervall von `2 s`, ein hohes Profil und deaktivieren Sie die Neuskalierung der Ausgabe. Mit NVENC sind P5 und High Quality ein Ausgangspunkt; Überprüfen Sie die Kodierungslast während der Probe. - Verwenden Sie AAC Audio und 48 kHz Stereo. Deaktivieren Sie unerwünschte Mikrofon- und Desktop-Audioquellen. - Wählen Sie in **Stream** Benutzerdefiniert aus. Teilen Sie die Eingabe MediaLive RTMP URL in den Server/die Anwendung URL und seine endgültige Stream-Namenskomponente auf. Fügen Sie die letzte Komponente in Stream Key ein. Bleiben Sie maskiert. Verwenden Sie eine stabile Upload-Verbindung mit Spielraum über der kombinierten Video- und Audio-Bitrate. Wenn OBS anhaltende Netzwerk- oder Codierungsausfälle meldet, korrigieren Sie diese, bevor Sie die Veranstaltung für Zuschauer öffnen. Siehe [OBS Anleitung zur Hardware-Kodierung](https://obsproject.com/kb/hardware-encoding). ## Adaptive Ausgänge konfigurieren[#](#configure-4k-adaptive-outputs) Verwenden Sie für diese OBS-Konfiguration eine MediaLive-Eingangsspezifikation AVC/UHD mit maximal 20 Mbps. Erstellen Sie die unten aufgeführten H.264-Ausgaben mit 30 fps, geschlossenen GOPs von 2 Sekunden und ausgerichteten CMAF-Segmenten von 6 Sekunden. Führen Sie AAC-Audio als separate Rendition. | Resolution | Beispiel-Videobitrate | Schlüsselgruppe | | --- | --- | --- | | 3840×2160 | 16 Mbps | UHD | | 1920×1080 | 5 Mbps | HD | | 1280×720 | 2.5 Mbps | HD | | 854×480 | 1.2 Mbps | SD | | 640×360 | 0.7 Mbps | SD | Hierbei handelt es sich um Probeaufnahmen, keine Qualitätsgarantie. Für kleinere Displays, eingeschränkte Netzwerke und Geräte, deren Sicherheitsstufe DRM die Qualität einschränkt, benötigt ein 4K-Kanal immer noch niedrigere Darstellungen. Überprüfen Sie den aktuellen [MediaLive Codec und die Auflösungsunterstützung](https://docs.aws.amazon.com/medialive/latest/ug/eml-limitations-and-rules.html), wenn Sie einen anderen Encoder auswählen. ## Wiederverwendung eines Kanals nach einem vorherigen Ereignis[#](#reuse-channel-history) Ein laufender Encoder bestätigt nicht, dass Zuschauer aktuelle Medien erhalten. Prüfen Sie den MediaPackage-Header manifest-last-updated und die angegebenen Auflösungen. Liefert ein wiederverwendeter Kanal nach einer Änderung am Encoder oder an den Renditions weiterhin alte Segmente, befolgen Sie die [AWS-Anleitung zum Zurücksetzen des Kanalverlaufs](https://docs.aws.amazon.com/mediapackage/latest/userguide/channel-reset.html). - Bestätigen Sie, dass der vorherige DVR-Inhalt dauerhaft entfernt werden kann; Ein Reset ist kein Rollback-Vorgang. - Stoppen Sie OBS und den MediaLive-Kanal. Warten Sie, bis MediaLive im Leerlauf ist. - In MediaPackage wird der Verlauf für den spezifischen Testkanal zurückgesetzt. Warten Sie nach Abschluss des Zurücksetzens mindestens 30 Sekunden. - Starten Sie MediaLive, warten Sie auf „Running“ und starten Sie dann OBS. Überprüfen Sie frische DASH/HLS-Medien, SPEKE-Austausch und Gerätewiedergabe erneut. ## Fügen Sie das Ereignis zu PHP, Android und iOS hinzu[#](#test-web-android-ios) Verwenden Sie in allen Beispielen dasselbe Live-Content ID und dieselbe Umgebung. Behalten Sie Site Key und Access Key auf Ihrem PHP-Server. Die gehostete Beispielveranstaltung ist `aws-live-test-20260902` mit dem Titel **4K Live DRM Test**; Es ist nur verfügbar, während eine Probe läuft. Fügen Sie in PHP einen vertrauenswürdigen Playlist-Eintrag mit `id`, `title` und `type: live` hinzu. Melden Sie sich erneut an, um die Sitzungsberechtigungen des Beispiels zu aktualisieren. Das Backend löst das registrierte Live-Manifest auf und lehnt einen vom Client bereitgestellten Typ ab, der nicht mit dem Katalog übereinstimmt. ``` 'playlist' => [ ['id' => 'your-live-content-id', 'title' => 'My live event', 'type' => 'live'], ], ``` Fügen Sie in Android `DrmXPlaylistItem("your-live-content-id", "My live event", "live")` hinzu und übergeben Sie dessen Inhaltstyp, wenn Sie die Wiedergabe vorbereiten. Verwenden Sie im Apple-Beispiel `DrmXPlaylistItem(contentId: "your-live-content-id", title: "My live event", contentType: .live)`. Live-Einträge dienen dem Streaming und dürfen nicht in die Offline-Download-Warteschlange gelangen. ## Starten, überprüfen und stoppen[#](#start-and-stop-the-broadcast) - Starten Sie den DRM-X Live Run und danach den AWS MediaLive-Kanal. Warten Sie, bis MediaLive den Status Running meldet. - Starten Sie das Streaming in OBS. Überprüfen Sie die Bitrate, verlorene Frames, Audio und Encoder-Auslastung. - Bestätigen Sie, dass die DASH/HLS-Manifeste die erwarteten Darstellungen und DRM-Signale enthalten. Überprüfen Sie dekodierte Bilder und Audiodaten in einem Browser, Android Widevine und iPhone FairPlay. Lassen Sie einen Player über mindestens eine Schlüsselrotation verbunden und testen Sie anschließend einen neuen Viewer. - Beenden Sie nach dem Test das Streaming in OBS, den MediaLive-Kanal und den DRM-X Live Run. Prüfen Sie, dass MediaLive wieder Idle anzeigt. Allein das Beenden von OBS stoppt die Kosten des AWS-Encoders nicht. Prüfen Sie die Kosten für beibehaltene Eingänge, Packaging/Speicher, Anfragen und Auslieferung getrennt. Siehe [MediaLive-Preise](https://aws.amazon.com/medialive/pricing/) und die AWS-Abrechnungskonsole. ## Verifizierte Probe: 17. September 2026[#](#verified-rehearsal) Der Kanal lieferte verschlüsseltes Video in 3840×2160 mit niedrigeren adaptiven Renditions. Ein echtes iPhone dekodierte 4K und bestand sechs Minuten Wiedergabe über eine Grenze des 600-Sekunden-Intervalls für Schlüsselrotation hinweg. Das Samsung Android-Gerät bestand zehn Minuten bei 1080p, seiner gemeldeten Anzeigegrenze. Beide Geräte bestanden einen neuen Einstieg nach der Rotation. Die Ergebnisse gelten für die getesteten Geräte, Codecs und Richtlinien. Verwenden Sie Android SDK **1.0.0-preview.13** oder höher für nicht zwischengespeicherte Live-Manifeste. Aktualisieren Sie die vorhandene [Android Bewertungs-App](https://docs.drm-x.com/downloads/android/1.0.0-preview.13/drmx-android-player-1.0.0-preview.13.apk), um heruntergeladene Videos beizubehalten. Das aktualisierte Apple-Beispiel behält die Schlüssel ID und IV bei und komprimiert gleichzeitig die MediaPackage-Metadaten, um sie an die 200-Byte-Bezeichnergrenze SPC von FairPlay anzupassen. Die Auflösungseinstellung bietet sowohl Breite als auch Höhe, sodass die adaptive Wiedergabe 4K erreichen kann. ### Safari Live-Wiedergabe Verwenden Sie Web SDK 1.2.0-preview.13 oder höher für Safari. Es wählt natives Apple Media Keys aus, wenn es auf macOS, iOS und iPadOS verfügbar ist, und behält dieses API bei Live- und VOD-Wiedergabelistenänderungen bei. Die Live-Wiedergabe greift nicht auf MSE/SINF zurück, das veraltete Initialisierungssegmentschlüssel anfordern kann, nachdem MediaPackage seine Schlüssel rotiert. Behalten Sie die exakt aktuellen Schlüssel ID und IV in der HLS-Signalisierung bei. DRM-X SPEKE gibt eine kompakte KeyId/IV Asset-ID aus, sodass Safari FairPlay Lizenzen innerhalb der Bezeichnergrößenbeschränkung anfordern kann. Die DRM License Token autorisiert weiterhin den genauen Inhalt und Schlüssel. Stellen Sie nach der Aktualisierung des Schlüsseldienstes sicher, dass das abhängige SPEKE-Gateway ausgeführt wird. Ein Encoder, der ein Video empfängt, kann keine neue geschützte Ausgabe veröffentlichen, während die Schlüsselübermittlung nicht verfügbar ist. Ein separater 15-minütiger Safari-Test bestätigte unterbrechungsfreie Wiedergabe über eine Schlüsselrotation auf Mac und iPhone. Das iPhone verwendete native Apple Media Keys. Der Mac verwendete modernes EME während der Rotation und bestand danach einen neuen Einstieg mit nativen Apple Media Keys, nachdem beim Start mit modernem EME ein sporadischer Fehler aufgetreten war. Die Browseranpassung erreichte 720p auf dem Mac und 480p auf dem iPhone. Damit sind weder 4K im Browser noch die Rotation im abschließend verwendeten Mac-Kompatibilitätspfad bestätigt. Das 4K-Ergebnis der nativen App stammt aus einem anderen Test. ### Vor dem Neustart einer Probe - Stellen Sie sicher, dass der SPEKE-Endpunkt erreichbar ist und die Konsole einen aktuellen Austausch anzeigt. Ein Encoder, der Eingaben empfängt, kann weiterhin veraltete Medien bereitstellen, wenn die Schlüsselzustellung fehlschlägt. - Halten Sie VOD/Offline-Mediencaches von der Live-Manifestquelle getrennt. - Überprüfen Sie die tatsächlich dekodierten Abmessungen. Die Auswahl eines 4K-Kanals allein beweist noch keine 4K-Wiedergabe. - This rehearsal is stopped. Starten Sie einen neuen autorisierten DRM-X Live Run-, AWS-Encoder und OBS-Stream, bevor Sie den Live-Katalogeintrag erneut testen.