Ich möchte ein Video herunterladen, dessen URL keine einfache mp4-Datei ist, dessen 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?.
Ich habe gerade eine allgemeine Lösung gefunden, die auf den meisten Websites funktionieren sollte. Ich habe dies nur mit Chrome versucht, aber diese Methode sollte mit jedem anderen Browser funktionieren, da die Dev Tools in allen Browsern ziemlich gleich sind.
Schritte:
.m3u8
. Es mag viele von ihnen geben, aber höchstwahrscheinlich ist das, wonach Sie suchen, das erste, das Sie finden. Es kann einen beliebigen Namen haben, z.B. playlist.m3u8
.Der Vorgang kann unterschiedlich sein, je nachdem, wo und wie das Video gehostet wird. Wenn Sie das wissen, können Sie die Frage genauer beantworten.
Als Beispiel; So können Sie Videos mit Blob-Links auf Vimeo herunterladen.
So schaffe ich es, es "herunterzuladen":
In Firefox wurde die M3U-Datei vom Typ application/vnd.Apple.mpegurl angezeigt
Der Inhalt der M3U-Datei sieht folgendermaßen aus:
Öffnen Sie VLC Medial Player und verwenden Sie die Option Media => Convert. Verwenden Sie Ihre (gespeicherte) M3U-Datei als Quelle:
Ich habe dies bereits auf einigen anderen Websites gepostet und warum nicht mit Jungs/Mädels bei stackoverflow teilen.
Drücken Sie Details⊗ _needsAggregate _needsCoapp-Aktionen bitrate chunked descrPrefix durationFloat extension frameId fromCache group
hls id isPrivate Länge masterManifest mediaManifest originalId referer größe status titel topUrl url urlDateiname
Es gibt verschiedene Möglichkeiten, die URL .m3u8
abzurufen, indem Sie entweder den Quellcode einer Seite anzeigen, in den Entwicklertools in Chrome die Registerkarte "Netzwerk" aufrufen oder ein Plugin wie HDL/HLS-Video) verwenden Downloader .
Mit der URL .m3u8 in der Hand können Sie dann ffmpeg
verwenden, um das Video in eine Datei wie die folgende herunterzuladen:
$ ffmpeg -i 'https://url/to/some/file.m3u8' -bsf:a aac_adtstoasc \
-vcodec copy -c copy -crf 50 file.mp4
Verwenden Sie die Erweiterung HLS Downloader Google Chrome, um den Link zur M3U-Wiedergabeliste abzurufen. Das Symbol in der Browserleiste zeigt die Anzahl der Wiedergabelisten an, die auf der aktuellen Webseite gefunden wurden. Wenn Sie auf das Symbol klicken, wird eine Liste der Wiedergabelistenverknüpfung angezeigt, und Sie können sie mithilfe der Schaltfläche "Kopieren" neben einer Verknüpfung 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 "file-name-to-save-as.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 aus der HLS Downloader-Erweiterung kopiert haben.
Wenn Sie für youtube-dl immer die gleichen Konfigurationsoptionen verwenden, sollten Sie sich Konfigurationsoptionen für youtube-dl als ansehen Dies kann Ihnen viel Tipparbeit ersparen.
Die HLS Downloader-Erweiterung ist kostenlos und Open Source unter der Lizenz MIT, wenn Sie den Code sehen möchten, den sie auf seiner Projektseite auf Github findet.
Wollte eine weitere Antwort speziell für Facebook-Blob-Videos hinzufügen, die schwierig zu sein scheinen. Der Blob-Link scheint zu mehreren aufeinanderfolgenden MP4-Streams zu führen, als ob das Video in Hunderte von kurzen Stücken aufgeteilt wäre. Es scheint keine einzige Wiedergabeliste wie eine F4M oder M3U8 zu geben.
Für mich war die einzige erfolgreiche Lösung die Verwendung von https://fbdown.net/index.php , und für private Videos musste ich ihren Video-Download-Helfer verwenden (einen kostenlosen chrome Erweiterung). Theoretisch haben sie eine separate Webseite zum Herunterladen privater Videos, bei der die Quelle der Seite in ein Textfeld kopiert und eingefügt wird. Aber das hat bei mir nicht funktioniert. Das Chrome Plugin funktioniert jedoch. Plugin-URL: https://chrome.google.com/webstore/detail/fbdown-video-downloader/fhplmmllnpjlncfjpbbpjadoeijkogc
Wenn Sie die Datei .m3u8
NICHT finden, müssen Sie einige Schritte anders ausführen.
1) Gehen Sie zur Registerkarte Netzwerk und sortieren Sie nach Media
2) Hier sehen Sie etwas und wählen den ersten Eintrag aus. In meinem Beispiel handelt es sich um eine mpd
-Datei. 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 Kodierung müssen Sie möglicherweise die Audio- und Videodateien zusammenfügen, dies hängt jedoch von der jeweiligen Video-Falldarstellung ab.
Wenn der Blob mit Daten aus einem F4M-Manifest instanziiert wird (überprüfen Sie die Registerkarte "Netzwerk" in den Chrome Developer Tools), können Sie die Videodatei mithilfe des hier veröffentlichten PHP-Skripts herunterladen: https://n1njahacks.wordpress.com/2015)/01/29/wie-man-hds-flash-streams-von-jeder-webseite speichert /
Durch das Setzen von:
if ($manifest == '')
$manifest = $_GET['manifest'];
vor:
if ($manifest)
sie können es sogar auf einem Webserver ausführen, indem Sie Anforderungen mit der folgenden 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).