Wie laden wir ein Blob-URL-Video herunter [geschlossen]

217

Ich möchte ein Video herunterladen, dessen URL keine einfache MP4-Datei ist, deren URL jedoch vom Typ Blob ist, z.

<video id="playerVideo" width="450px" autoplay="autoplay" height="338px" 
       style="height:100%;width:100%;" class="mejs-rai-e"
       src="blob:http://www.example.com/d70a74e1-0324-4b9f-bad4-84e3036ad354">
</video>

Gibt es eine Chrome-Erweiterung oder Software, mit der das abgespielte Video heruntergeladen werden kann?

SidD
quelle
@cdlvcdlv Danke, Mann! Nachdem ich viele Tools getestet hatte, funktionierte das für meinen speziellen Fall!
Felipeptcho
@felipeptcho Gern geschehen. Freut mich zu sehen, dass durch Antwort jemand anderem helfen kann.
cdlvcdlv
2
Siehe HDS / HLS Video Downloader- Erweiterung für Chromium-basierte Browser.
Georgeawg
13
Warum geht jede einzelne Antwort auf diese Frage von der Dateierweiterung aus .m3u8? Das wurde in der Frage nie angegeben.
Numbermaniac
Hallo @SidD, konnten Sie dieses Problem lösen? Wenn ja, können Sie mir bitte mitteilen, welche Lösung für Sie funktioniert hat?
Hagrawal

Antworten:

228

Ich habe gerade eine allgemeine Lösung gefunden, die auf den meisten Websites funktionieren sollte. Ich habe dies nur in Chrome versucht, aber diese Methode sollte mit jedem anderen Browser funktionieren, da die Dev Tools in allen ziemlich gleich sind.

Schritte:

  1. Öffnen Sie die Dev Tools des Browsers (normalerweise F12 oder Strg-Umschalt-I oder klicken Sie mit der rechten Maustaste und dann im Popup-Menü auf Inspizieren ) auf der Seite mit dem Video, an dem Sie interessiert sind.
  2. Gehen Sie zur Registerkarte Netzwerk und laden Sie die Seite neu. Auf der Registerkarte wird eine Liste mit Anforderungen angezeigt (möglicherweise bis zu hundert oder sogar mehr).
  3. Durchsuchen Sie die Namen der Anfragen und finden Sie die Anfrage mit der .m3u8Erweiterung. Es mag viele von ihnen geben, aber höchstwahrscheinlich ist das erste, das Sie finden, das, das Sie suchen. Es kann einen beliebigen Namen haben, z playlist.m3u8.
  4. Öffnen Sie die Anfrage und im Unterabschnitt Header sehen Sie die vollständige URL der Anfrage im Feld Anforderungs-URL . Kopiere es. Geben Sie hier die Bildbeschreibung ein
  5. Extrahieren Sie das Video von m3u8. Es gibt viele Möglichkeiten, ich gebe Ihnen die, die ich ausprobiert habe, aber Sie können mehr googeln, indem Sie "Video von m3u8 herunterladen".
    • Option 1. Wenn Sie den VLC-Player installiert haben, geben Sie die URL über die Menüoption " Open Network Stream ... " an VLC weiter . Ich werde hier nicht näher auf diesen Teil eingehen, es gibt an vielen Stellen eine Reihe umfassender Anleitungen, zum Beispiel hier . Wenn die Seite nicht funktioniert, können Sie jederzeit eine andere Seite mit "vlc download online video" googeln.
    • Option 2. Wenn Sie sich mehr mit Befehlszeilen beschäftigen, verwenden Sie FFMPEG oder Ihr eigenes Skript, wie in dieser SuperUser-Frage beschrieben .
Vlad Nikiforov
quelle
48
Option 3 ist: Verwenden Sie die URL der Wiedergabeliste direkt mit youtube-dl, es ist sehr einfach!
Arnaud Tournier
3
youtube-dl funktioniert auch für mpd-Dateien.
Gibado
2
@patricK Sie können versuchen, Referer hinzuzufügen, Beispiel:youtube-dl --add-header Referer: https://www.google.com/referer-page https://google.com/video.m3u8
Searene
1
Wenn ich Sie frage, wie haben Sie die Suchleiste im Netzwerkmodul geöffnet und nach den Schlüsselwörtern "m3u8" gesucht?
Zhou XF
1
Und Option 4: Verwenden Sie JDownloader 2, um die URL der Wiedergabeliste herunterzuladen. Meiner Meinung nach ist dies der einfachste Weg.
Robin Hartmann
50

Verwenden Sie die Google Chrome-Erweiterung HLS Downloader , um den Link zur M3U-Wiedergabeliste abzurufen. Das Symbol in der Browserleiste zeigt die Anzahl der auf der aktuellen Webseite gefundenen Wiedergabelisten an. Wenn Sie auf das Symbol klicken, wird eine Liste des Wiedergabelisten-Links angezeigt. Verwenden Sie dann die Schaltfläche zum Kopieren neben einem Link, um ihn zu kopieren.

Verwenden Sie dann das Programm youtube-dl , um die Datei herunterzuladen.

youtube-dl --all-subs -f mp4 -o "file-name-to-save-as.mp4" "https://link-from-Google_Chrome-HLS_Downloader_extension"

Erläuterung der Befehlszeilenoptionen:

  • -f mp4 = Ausgabeformat mp4

  • --all-subs = Alle Untertitel herunterladen

  • -o "Dateiname zum Speichern als.mp4" = Name der Datei, unter der das Video gespeichert werden soll.

  • " https: // link-from-Google_Chrome-HLS_Downloader_extension " = Dies ist der Link zu der Wiedergabeliste, die Sie von der HLS Downloader-Erweiterung kopiert haben.

Wenn Sie für youtube-dl immer dieselben Konfigurationsoptionen verwenden, sollten Sie sich die Konfigurationsoptionen für youtube-dl ansehen , da Sie dadurch viel Tipparbeit sparen können.

Die HLS Downloader-Erweiterung ist kostenlos und Open Source unter der MIT-Lizenz, wenn Sie den Code sehen möchten, den sie auf der Projektseite von Github finden .

frederickjh
quelle
Das funktioniert wirklich gut, außer in meinem Fall hatte der MP4 keinen Ton? Gibt es eine Möglichkeit, dies zu beheben?
Christopher D. Emerson
2
Ich habe sein nicht geschehen lassen. Es muss etwas mit der Datei sein, die Sie herunterladen. Ich glaube, dass der mp4-Standard mehrere Audiospuren unterstützt. Stellen Sie sicher, dass keine andere Audiospur vorhanden ist und die erste Stille ist.
frederickjh
1
Große Erweiterung! Es ist so viel einfacher, als mit m3u8-Dateien und nur mit Strait-Blob-Dateien herumzulaufen. Allerdings brauchte ich nichts, was dieses Youtube-Ding war. HLS Downloader gibt mir die Videodateien direkt.
Justin Emlay
Versuchen Sie, -x innerhalb der Optionen hinzuzufügen
Sir Von Berker
In meinem Fall habe ich HLS Downloader mit Twitter ausprobiert und es hat funktioniert, wie @Justin sagte: Es hat die Videodatei direkt gegeben. Ich habe aber auch die Vorschläge von @Vlad für die andere Antwort ausprobiert - im Grunde genommen alle Schritte manuell - mit den gleichen Ergebnissen (dh eine Arbeitsdatei erhalten .MP4).
Gwyneth Llewelyn
27

Der Vorgang kann je nachdem, wo und wie das Video gehostet wird, unterschiedlich sein. Wenn Sie das wissen, können Sie die Frage genauer beantworten.

Als Beispiel; So können Sie Videos mit Blob-Links auf Vimeo herunterladen.

  1. Zeigen Sie den Quellcode des Video-Player-Iframes an
  2. Suche nach mp4
  3. Link mit Token-Abfrage kopieren
  4. Download vor Ablauf des Tokens

Quelle & Schritt-für-Schritt-Anleitung hier.

Geben Sie hier die Bildbeschreibung ein

Chiappa
quelle
2
Diese Methode funktioniert auch dann gut, wenn der Dateityp in .mp4url nicht ist. Überprüfen Sie einfach den Header der Datei und benennen Sie sie um.
eapo
25

So schaffe ich es, es herunterzuladen:

  1. Verwenden Sie inspect-element, um die URL der M3U-Wiedergabelistendatei zu identifizieren
  2. Laden Sie die M3U-Datei herunter
  3. Verwenden Sie VLC, um die M3U-Datei zu lesen, das Video zu streamen und in MP4 zu konvertieren

In Firefox wurde die M3U-Datei vom Typ application / vnd.apple.mpegurl angezeigt

Geben Sie hier die Bildbeschreibung ein

Der Inhalt der M3U-Datei würde folgendermaßen aussehen:

Öffnen Sie den VLC Medial Player und verwenden Sie die Option Medien => Konvertieren. Verwenden Sie Ihre (gespeicherte) M3U-Datei als Quelle:

Geben Sie hier die Bildbeschreibung ein

Ioannis Drositis
quelle
3
Toller Tipp! Es scheint, dass die m3u8Datei nicht heruntergeladen werden muss - Sie können einfach die externe URL als Quelle einfügen.
Auf der Registerkarte "Netzwerk" befindet sich eine sekundäre Registerkarte für "Medien". Es ist einfacher, die m3u8-Datei aus nur wenigen Elementen abzurufen.
pcarvalho
19

Es gibt verschiedene Möglichkeiten, die URL .m3u8abzurufen, indem Sie entweder die Quelle einer Seite anzeigen, die Registerkarte Netzwerk in den Entwicklertools in Chrome anzeigen oder ein Plugin wie HDL / HLS Video Downloader verwenden .

Mit der .m3u8-URL in der Hand können Sie ffmpegdas Video dann in eine Datei wie folgt herunterladen:

$ ffmpeg -i 'https://url/to/some/file.m3u8' -bsf:a aac_adtstoasc \
    -vcodec copy -c copy -crf 50 file.mp4
slm
quelle
11

Wenn Sie die .m3u8Datei NICHT finden können, müssen Sie einige Schritte anders ausführen.

1) Gehen Sie zur Registerkarte Netzwerk und sortieren Sie nach Media

Nach Medien sortieren

2) Hier sehen Sie etwas und wählen den ersten Eintrag aus. In meinem Beispiel ist es eine mpdDatei. Kopieren Sie dann die Anforderungs-URL.

3) Laden Sie als Nächstes die Datei mit Ihrem bevorzugten Befehlszeilentool unter Verwendung der URL aus Schritt 2 herunter.

youtube-dl -f bestvideo+bestaudio https://url.com/destination/stream.mpd

4) Abhängig von der Codierung müssen Sie möglicherweise die Audio- und Videodateien zusammenfügen, dies hängt jedoch von einer Video-für-Video-Hülle ab.

Rick
quelle
10

Ich habe dies bereits auf einigen anderen Websites gepostet und warum nicht mit Jungs / Mädels bei stackoverflow teilen?

  1. Installieren Sie die Video DownloadHelper-Erweiterung im Firefox-Browser.
  2. Navigieren Sie bei aktiviertem DownloadHelper zu der Webseite mit dem Video, das Sie herunterladen möchten.
  3. Sobald das Video gestreamt wird, klicken Sie auf das DownloadHelper-Symbol. Sie erhalten eine Liste aller im aktuellen Video verfügbaren Dateiformate.
  4. Scrollen Sie zu dem Dateiformat, das Sie herunterladen möchten
  5. Auf der rechten Seite sehen Sie einen Pfeil
  6. Klicken Sie auf diesen Pfeil, um weitere Informationen zum aktuellen Video und zum ausgewählten Format zu erhalten
  7. Scrollen Sie im angezeigten Fenster am Ende dieses Pfeils nach unten und wählen Sie "Details".
  8. Sie haben jetzt alle Details zum aktuellen Video und zum ausgewählten Format. Es ist so etwas.

Hit Details⊗ _needsAggregate _needsCoapp-Aktionen Bitrate Chunked DescrPrefix DauerFloat-ErweiterungsrahmenId aus der Cache-Gruppe
hls ID isPrivate Länge masterManifest mediaManifest originalId Referrer Größe Status Titel topUrl URL urlDateiname

  1. Schauen Sie sich nun die Besonderheiten des Referrers in diesen Treffer-Details an. Das ist die URL, die Sie wollen. Kopieren Sie es und fügen Sie es in Ihren bevorzugten Downloader ein.
Johny Flodder
quelle
9
  1. Suchen Sie die Wiedergabeliste / das Manifest auf der Registerkarte Netzwerk der Entwicklertools. Es gibt immer einen, so funktioniert es. Möglicherweise hat es eine m3u8-Erweiterung, die Sie in den Filter eingeben können.
  2. Gib es dem youtube-dl-Tool. Es kann viel mehr als nur YouTube herunterladen. Jedes Segment wird automatisch heruntergeladen, dann wird alles mit FFmpeg kombiniert und die Teile werden verworfen. Es besteht eine gute Chance, dass es die Site unterstützt, von der Sie nativ herunterladen möchten, und Sie müssen nicht einmal Schritt 1 ausführen.
  3. Wenn Sie eine Website finden, die hartnäckig ist und auf 403 Fehler stößt ... Telerik Fiddler zur Rettung. Es kann alles übertragene (z. B. die Videodatei) abfangen und speichern, da es als lokaler Proxy fungiert. Alles, was Sie sehen / hören, kann heruntergeladen werden, es sei denn, es handelt sich um DRM-Inhalte wie Spotify.
Firsh - LetsWP.io
quelle
2
Wie würden Sie youtube-dl verwenden, um es zu tun? nur youtube-dl https://....m3u8"?
Aziz Javed
Funktioniert dies auch für private Videos?
Aziz Javed
@ AzizJaved ja, genau so. Ich habe es nicht an privaten Videos getestet, aber wenn Sie die Seite sehen können, auf der sie sich befinden, funktionieren sie genau wie bei einem öffentlichen Video. Was zählt, ist das, was Sie im Browser sehen: Wenn Sie es sehen können, können Sie es kopieren. Einfach! 😉
Gwyneth Llewelyn
Wollt ihr einen Artikel von mir über das Herunterladen verschlüsselter HLS-Videos? Es ist im Grunde Schritt 3, aber mit ffmpeg, um ts-Segmente zu entschlüsseln und zu kombinieren.
Firsh - LetsWP.io
0

Wenn der Blob mit Daten aus einem F4M-Manifest instanziiert wird (siehe Registerkarte "Netzwerk" in den Entwicklertools von Chrome), können Sie die Videodatei mithilfe des hier veröffentlichten PHP-Skripts herunterladen: https://n1njahacks.wordpress.com/2015/01/29 / How-to-Save-HDS-Flash-Streams-von-jeder-Webseite /

Durch Setzen:

  if ($manifest == '')
    $manifest = $_GET['manifest'];

Vor:

  if ($manifest)

Sie können es sogar auf einem Webserver ausführen, indem Sie Anforderungen mit der Abfragezeichenfolge verwenden : ?manifest=[manifest url].

Beachten Sie, dass Sie wahrscheinlich einen FTP-Client verwenden möchten, um die heruntergeladene Videodatei abzurufen und nach dem Skript zu bereinigen (alle heruntergeladenen Videoteile bleiben erhalten).

Beschützer eins
quelle
-27

Sie können einfach mit der rechten Maustaste klicken und den Blob als mp4 speichern.

Als ich mit browserbasierter Video- / Audioaufnahme herumgespielt habe, konnte der Ausgabe-Blob direkt heruntergeladen werden.

Pseudozach
quelle
Ich denke nicht, dass das möglich ist. Können Sie uns mitteilen, welchen Browser Sie herunterladen?
Pirat X
Ich habe Chrom verwendet, aber ich bezog mich auf eine Webrtc-Videoaufnahme, die auf dem lokalen Computer gemacht wurde. Bei Web-Blobs kann das Verfahren anders sein.
Pseudozach
1
Dies funktioniert für normale Videos, aber nicht für Blobs, wie es scheint.
TankorSmash