Tutorial · HLS · DevTools

M3U8-URL eines Video-Streams finden (2026)

Ein 60-Sekunden-DevTools-Workflow zum Erfassen der M3U8-URL eines beliebigen HLS-Videos, einschließlich privater Streams, die Cookies oder einen Referer-Header benötigen. Chrome, Edge, Firefox.

Vom Vidora-Team 8 Min. Lesezeit

Die M3U8-URL eines Video-Streams zu finden ist der erste Schritt in jedem manuellen HLS-Download-Workflow. ffmpeg, yt-dlp, VLC, jedes Kommandozeilen-Tool beginnt mit dieser URL. Die gute Nachricht: Sie zu erfassen dauert etwa 60 Sekunden mit den Browser-DevTools, und derselbe Workflow funktioniert in Chrome, Edge, Brave, Vivaldi, Opera und Firefox. Die schlechte Nachricht: Manche Player machen es etwas schwieriger als andere, und die Playlist-URL kann stillschweigend ablaufen. Dieser Leitfaden behandelt beides.

Wenn Sie noch nie DevTools geöffnet haben oder unsicher sind, was eine M3U8-Datei eigentlich ist, behandelt unser M3U8-Erklärungsartikel (auf Englisch) das Format vollständig. Der Rest dieses Artikels setzt voraus, dass Sie DevTools öffnen können.

1. Warum Sie die M3U8-URL brauchen könnten

Die meisten Leser landen aus einem von drei Gründen hier:

Für alle drei Fälle ist der Workflow derselbe: Erfassen Sie die URL aus dem Network-Tab und handeln Sie dann.

2. Methode 1: Chrome DevTools (empfohlen)

Chrome deckt etwa 65 Prozent der Desktop-Browser ab, und derselbe Workflow funktioniert in Edge, Brave, Opera und Vivaldi. Der Network-Tab ist der zuverlässigste Ort, um Playlist-URLs zu erfassen.

Schritt für Schritt

  1. Öffnen Sie die Seite, die das Video hostet. Drücken Sie noch nicht Play.
  2. Öffnen Sie DevTools: Drücken Sie F12 auf Windows oder Linux, Cmd + Opt + I auf Mac. Sie können auch irgendwo auf die Seite rechtsklicken und Untersuchen wählen.
  3. Wechseln Sie zum Network-Tab oben in DevTools.
  4. In der Filterleiste (direkt unter der Symbolleiste) tippen Sie m3u8. Das filtert alle Anfragen auf solche, deren URL m3u8 enthält.
  5. Drücken Sie jetzt Play auf dem Video. Innerhalb einer Sekunde erscheinen eine oder mehrere M3U8-Anfragen in der gefilterten Liste. Die erste ist meist die Master-Playlist.
  6. Klicken Sie auf die Anfrage, um sie zu inspizieren. Der Headers-Tab zeigt die URL, der Response-Tab zeigt den Playlist-Inhalt.
  7. Rechtsklick auf die Anfrage und wählen Sie Copy > Copy link address. Die vollständige URL mit allen Query-Parametern ist jetzt in Ihrer Zwischenablage.

Cookies und Header erfassen (für private Streams)

Wenn die M3U8-URL eine Authentifizierung benötigt, reicht das Kopieren der URL allein nicht. ffmpeg oder yt-dlp bekommen ein 403 Forbidden, wenn sie sie ohne Ihre Session-Cookies anfordern. Der Fix: die vollständige Anfrage als cURL erfassen:

  1. Rechtsklick auf die M3U8-Anfrage im Network-Tab.
  2. Wählen Sie Copy > Copy as cURL (oder Copy as cURL (bash) auf Windows).
  3. Fügen Sie es in Ihr Terminal ein. Sie haben jetzt einen Einzeiler, der die URL, den Cookie-Header, den Referer und alle weiteren benutzerdefinierten Header enthält, die der Player verwendet hat.

Um diesen cURL-Befehl in einen ffmpeg-Befehl zu verwandeln, ersetzen Sie curl 'URL' durch ffmpeg -headers $'Header1: value\r\nHeader2: value\r\n' -i 'URL' -c copy output.mp4. Mühsam, aber zuverlässig.

3. Methode 2: Firefox Developer Tools

Die Entwicklertools von Firefox folgen demselben Workflow mit leicht anderer Benennung.

  1. Öffnen Sie die Seite (ohne sie abzuspielen).
  2. Drücken Sie F12 oder Cmd + Opt + I auf Mac.
  3. Klicken Sie auf den Network-Tab.
  4. Tippen Sie m3u8 in den URL-Filter oben in der Anfrageliste.
  5. Drücken Sie Play auf dem Video. Die Playlist-Anfrage erscheint.
  6. Rechtsklick auf die Anfrage und wählen Sie Copy > Copy URL für die nackte URL oder Copy > Copy as cURL für die vollständige Anfrage mit Headern.

Firefox kennzeichnet HLS-Playlists manchmal als application/x-mpegurl oder application/vnd.apple.mpegurl. Die Type-Spalte zeigt den MIME-Typ, was eine schnelle Möglichkeit ist, zu bestätigen, dass Sie die richtige Anfrage haben. Die offiziellen MIME-Typen für HLS sind auf MDN dokumentiert.

4. Die Browser-Erweiterungs-Abkürzung

Wenn Sie M3U8-URLs öfter als einmal im Monat erfassen, automatisiert eine Browser-Erweiterung den gesamten Workflow. Statt DevTools zu öffnen, zu filtern, URLs zu kopieren und in ffmpeg einzufügen, erkennt die Erweiterung die Playlist beim Start der Wiedergabe, erfasst die Header aus Ihrer aktiven Session und bietet einen Ein-Klick-Download.

Warum das für die meisten Nutzer der richtige Schritt ist

Vidora ist die Option, die wir entwickeln, speziell optimiert für Vimeo, Bunny.net, HLS-Streams und MP4-Quellen. Für einen tieferen Vergleich der Erkennungsmethoden siehe den Bunny.net-Leitfaden (auf Englisch) und den Vimeo-Leitfaden (auf Englisch), die plattformspezifische Eigenheiten behandeln.

5. Wie man die M3U8 liest, um die richtige Qualität zu wählen

Sobald Sie die M3U8-URL haben, zeigt das Öffnen in einem Browser-Tab (oder das Durchleiten durch curl in einem Terminal) den Playlist-Inhalt. Zwei Strukturen sind üblich.

Master-Playlist

Eine Master-Playlist listet mehrere Qualitätsrenditions auf, jede zeigt auf eine separate Media-Playlist. Sie sieht so aus:

#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=2425000,RESOLUTION=1280x720,CODECS="avc1.4d401f,mp4a.40.2"
720p/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=4585000,RESOLUTION=1920x1080,CODECS="avc1.640028,mp4a.40.2"
1080p/playlist.m3u8

Jede EXT-X-STREAM-INF-Zeile beschreibt eine Qualität, und die nächste Zeile ist die URL der Media-Playlist dieser Qualität. Übergeben Sie die Master-Playlist-URL an ffmpeg oder yt-dlp, und sie wählen automatisch die höchste Qualität. Übergeben Sie die spezifische 1080p-Media-Playlist-URL, wenn Sie diese Auflösung erzwingen wollen.

Media-Playlist

Eine Media-Playlist enthält die tatsächlichen Segment-URLs:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXTINF:9.96,
seg-001.ts
#EXTINF:9.92,
seg-002.ts
...
#EXT-X-ENDLIST

Der Tag #EXT-X-ENDLIST am Ende zeigt eine vollständige VOD-Playlist an. Live-Streams lassen diesen Tag weg und aktualisieren die Playlist weiter, sobald neue Segmente verfügbar werden. ffmpeg und yt-dlp behandeln beide Fälle.

6. Häufige Stolperfallen

Die M3U8-URL ändert sich bei jedem Neuladen

Die meisten CDNs verwenden signierte URLs mit einem kurzlebigen Token. Das Token ist Teil der URL oder ein Query-Parameter und läuft innerhalb von Minuten bis Stunden ab. Wenn Sie heute eine M3U8-URL speichern, funktioniert sie morgen vielleicht nicht mehr. Erfassen Sie jedes Mal frische URLs, oder verwenden Sie ein Tool, das die Playlist bei Bedarf erneut abruft.

Der Network-Tab ist nach dem Drücken von Play leer

Entweder verwendet die Seite Service Workers, die Anfragen abfangen (selten), oder die Anfrage wurde ausgelöst, bevor Sie DevTools geöffnet haben. Laden Sie die Seite mit bereits geöffneten DevTools neu, und die Anfrage wird von Anfang an erfasst.

Die M3U8-URL funktioniert im Browser, aber scheitert in ffmpeg

Das CDN verlangt einen Referer-Header. Erfassen Sie die Anfrage als cURL, um die Header zu erhalten, und leiten Sie sie an ffmpeg mit -headers weiter. Das ist die häufigste Ursache für "URL funktioniert in VLC, scheitert aber in der Kommandozeile".

Die erfasste URL ist für ein einzelnes Segment, nicht die Playlist

Ihr Filter hat eine .ts- oder .m4s-Anfrage erwischt, bevor die Playlist in den Sichtbereich kam. Laden Sie neu, filtern Sie streng nach m3u8 und erfassen Sie die erste passende Anfrage.

Die Seite fordert nie eine M3U8 an

Das Video wird möglicherweise als einzelne MP4-Datei (Progressive Download) statt als HLS ausgeliefert. Filtern Sie nach .mp4 im Network-Tab. Wenn Sie eine MP4-Anfrage finden, die einen Video-Stream zurückgibt, kopieren Sie ihre URL auf die gleiche Weise. Manche Sites verwenden auch DASH (.mpd), was ein anderes Format ist und in unserem M3U8-Erklärungsartikel behandelt wird.

7. Häufig gestellte Fragen

Was ist eine M3U8-URL?

Es ist die Adresse einer Playlist-Datei, die die Video-Segmente eines HLS-Streams auflistet. Der Browser ruft sie einmal beim Start der Wiedergabe ab und lädt dann die darin aufgelisteten Segmente herunter. Diese URL zu erfassen ist der erste Schritt in jedem manuellen HLS-Workflow.

Warum sehe ich die M3U8 nicht im Network-Tab?

Entweder hat der Player sie noch nicht angefordert (Play drücken, um auszulösen) oder die Playlist wurde als Data-URI inline in JavaScript geladen (selten). Im zweiten Fall durchsuchen Sie stattdessen den Seitenquelltext nach dem m3u8-String.

Master-Playlist vs. Media-Playlist, was ist der Unterschied?

Eine Master-Playlist listet mehrere Qualitätsrenditions auf, jede zeigt auf ihre eigene Media-Playlist. Eine Media-Playlist enthält die Segment-URLs. ffmpeg akzeptiert beide: Mit der Master wählt es automatisch die höchste verfügbare Qualität.

Kann ich die M3U8-URL außerhalb des Browsers verwenden?

Manchmal. Öffentliche, nicht authentifizierte URLs funktionieren überall. Signierte URLs mit Tokens funktionieren bis zum Ablauf (oft 30 Minuten bis ein paar Stunden). URLs, die Cookies oder Referer benötigen, brauchen diese Header explizit übergeben. Copy as cURL erfasst alles.

Warum funktioniert meine M3U8-URL nach einiger Zeit nicht mehr?

CDNs verwenden signierte URLs mit kurzer Lebensdauer, um Hotlinking zu verhindern. Sobald das Token abläuft, gibt die URL 403 zurück. Erfassen Sie sie aus einer frischen Wiedergabe erneut, wenn Sie sie wieder brauchen. Browser-Erweiterungen umgehen das, indem sie bei Bedarf erneut abrufen.

Funktioniert das auch in mobilen Browsern?

Mobile DevTools sind eingeschränkt. Der zuverlässige Workflow ist, dieselbe Seite auf dem Desktop mit demselben Login zu öffnen, dort zu erfassen und dann die URL aus der Desktop-Session zu verwenden. iOS Safari hat einen Remote-Debugging-Modus, der sich mit einem Mac verbindet, was funktioniert, aber umständlich ist.

Über den Autor

RGC Digital LLC entwickelt Vidora, eine Pro-Chrome-Erweiterung zum Download von Videos für Vimeo, Bunny.net, HLS-Streams und MP4. Mit Sitz in Albuquerque, NM. Wir schreiben über Video-Tooling, Streaming-Protokolle und die Entwicklung von Chrome-Erweiterungen.

Weiterführende Artikel