Access-Control-Allow-Origin

HLS CORS Fehler: Warum M3U8 Streams im Browser fehlschlagen

Ein HLS CORS-Fehler tritt auf, wenn es einem Browser nicht gestattet ist, das M3U8-Manifest, den Verschlüsselungsschlüssel oder Mediensegmente von einem anderen Ursprung abzurufen. Der Stream kann weiterhin in VLC abgespielt werden, da es sich bei CORS um eine Browserregel und nicht um eine Medienregel handelt. Um den Stream online zu testen, verwenden Sie einen CORS-fähigen Ursprung oder leiten Sie die HLS-Anfragen über einen Proxy weiter.

Zuletzt aktualisiert: June 20, 2026

Wiedergabe, Verlauf, Favoriten, Untertitel und Browserkonvertierung bleiben auf diesem Gerät. HLS-Anfragen werden nur dann über den Proxy weitergeleitet, wenn Sie den CORS-Proxy aktivieren.

Intelligenter CORS-Proxy

Verwenden Sie den Cloudflare Worker-Proxy für Manifeste, Schlüssel und Segmente, wenn die direkte Browserwiedergabe blockiert ist.

Videovorschau

Gesundheitsbericht verlinken

Analysieren Sie Varianten, Bitrate, Segmentdauer, Verschlüsselung und Live-/VOD-Status und prüfen Sie dann Mediensegmente auf tote Links. Segmentprüfungen werden durch den Browser CORS eingeschränkt. Aktivieren Sie daher den Proxy, um ein möglichst genaues Ergebnis zu erzielen.

So erkennen Sie den CORS-Fehler

ÜberprüfenSymptomBedeutung
Manifest blockiertDie .m3u8-Anfrage schlägt fehl, bevor die Wiedergabe beginnt.Der Ursprung benötigt Access-Control-Allow-Origin oder der Spieler benötigt einen Proxy.
Schlüssel gesperrtDas Manifest wird geladen, aber die verschlüsselte Wiedergabe schlägt fehl.Der AES-128-Schlüssel URL muss auch CORS zulassen oder über denselben Proxy weiterleiten.
Segmente blockiertDie Wiedergabe beginnt, dann wird gepuffert oder angehalten.Jede .ts- oder .m4s-Segmentanforderung benötigt denselben CORS-Pfad.
VLC funktioniert, Browser schlägt fehlDie Desktop-Wiedergabe funktioniert, die Web-Wiedergabe jedoch nicht.Dies bestätigt normalerweise ein Browser-CORS-Problem und keinen defekten Stream.
Preflight schlägt fehlBenutzerdefinierte Header lösen eine OPTIONS-Anfrage aus, die der Ursprung ablehnt.Vermeiden Sie unnötige Header oder konfigurieren Sie den Proxy/Origin für die Verarbeitung von OPTIONS.

So beheben oder testen Sie einen HLS CORS-Fehler

  1. 1

    Überprüfen Sie, ob das Manifest geladen wird

    Öffnen Sie den M3U8 URL oder fügen Sie ihn in den Player ein. Wenn die Manifest-Anfrage durch CORS blockiert ist, kann die Wiedergabe nicht einmal gestartet werden.

  2. 2

    Vergleiche mit VLC

    Wenn VLC denselben URL abspielen kann, der Browser jedoch nicht, ist der Stream wahrscheinlich erreichbar und der Fehler liegt an der Browser-Zugriffskontrolle.

  3. 3

    Aktivieren Sie den intelligenten CORS-Proxy

    Aktivieren Sie den Proxy, damit Manifeste, Verschlüsselungsschlüssel und Mediensegmente alle über eine Antwort übertragen werden, die der Browser lesen kann.

  4. 4

    Führen Sie den Gesundheitsbericht aus

    Verwenden Sie den Validator über den Proxy, um zu prüfen, ob Segmente tatsächlich aktiv sind und nicht nur durch CORS blockiert werden.

  5. 5

    Fügen Sie Referer nur bei Bedarf hinzu

    Wenn der Ursprung Hotlink-Schutz verwendet, setzen Sie die Originalseite URL auf Referer. Fügen Sie keine benutzerdefinierten Header hinzu, es sei denn, der Ursprung erfordert dies.

Warum HLS CORS für mehr als einen URL benötigt

Ein HLS-Player holt nicht nur eine Datei. Es ruft ein Master-Manifest, eine oder mehrere Medienwiedergabelisten, Verschlüsselungsschlüssel für AES-128-Streams und viele Segment-URLs ab. Ein einzelner fehlender CORS-Header auf einer dieser Ressourcen kann die Wiedergabe unterbrechen, daher reicht es nicht aus, nur die erste .m3u8-Antwort zu testen.

Was Access-Control-Allow-Origin tun soll

Bei öffentlichen Streams kann der Ursprung Access-Control-Allow-Origin für die Website senden, die den Player hostet, oder einen Platzhalter verwenden, wenn keine Anmeldeinformationen erforderlich sind. Halten Sie bei privaten Streams den Ursprung gesperrt und verwenden Sie zum Testen einen kontrollierten Proxy-Endpunkt. Vermeiden Sie das Mischen von direkten und Proxy-URLs in derselben HLS-Sitzung.

Warum ein Proxy zum Debuggen nützlich ist

Ein Proxy lässt den Browser HLS-Assets von Ihrem eigenen zulässigen Ursprung anfordern, während der Proxy das echte Manifest, den Schlüssel und die Segment-URLs abruft. Dadurch kann festgestellt werden, ob ein Stream unterbrochen oder lediglich durch die Browserrichtlinie blockiert ist. Es gibt Ihnen auch eine Stelle, an der Sie Referer oder User-Agent hinzufügen können, wenn der Ursprung dies erfordert.

Häufig gestellte Fragen

Was verursacht einen HLS CORS-Fehler?

Ein HLS CORS-Fehler tritt auf, wenn der Browser das M3U8-Manifest, den Verschlüsselungsschlüssel oder die Mediensegmente nicht lesen kann, weil der Ursprung keinen ursprungsübergreifenden Zugriff zulässt. VLC kann den Stream weiterhin abspielen, da CORS von Browsern erzwungen wird.

Warum wird mein M3U8-Stream in VLC abgespielt, aber nicht in Chrome?

VLC wird nicht durch Browser-CORS-Prüfungen eingeschränkt. Wenn VLC funktioniert und Chrome ausfällt, ist der Stream normalerweise erreichbar, aber der Browser kann eine oder mehrere HLS-Anfragen ohne CORS-Header oder einen Proxy nicht lesen.

Kann ein CORS-Proxy die M3U8-Wiedergabe reparieren?

Ja, zum Testen und Debuggen. Der Proxy muss das Manifest, die Medienwiedergabelisten, Schlüssel und Segmente weiterleiten, sodass jede HLS-Anfrage von einem Ursprung stammt, den der Browser lesen darf.

Benötigen HLS-Segmente CORS-Header?

Ja. Das Manifest, untergeordnete Wiedergabelisten, Schlüssel und jedes Mediensegment müssen für den Browser lesbar sein. Ein Stream kann auch dann fehlschlagen, wenn die .m3u8-Datei der obersten Ebene korrekte CORS-Header enthält.

Ist das dasselbe wie Hotlink-Schutz?

Nein. CORS ist eine Browser-Zugriffsregel. Der Hotlink-Schutz ist eine Ursprungsregel, die möglicherweise einen bestimmten Referer oder User-Agent erfordert. Einige Streams haben beide Probleme, daher benötigen Sie möglicherweise einen Proxy und einen passenden Referer.