Wie funktioniert das Herunterladen von Streaming-Videos?

Antworten:

5

Es gibt mindestens zwei Möglichkeiten, dies zu erreichen:

  1. Die Software fängt die Download-Streams ab und speichert alle erkannten Videos (dies ist das wahrscheinlichste Szenario).

  2. Die Software kopiert es einfach aus dem Cache des Webbrowsers (obwohl dies nicht unmöglich ist, ist dies aus zwei Gründen weitaus weniger wahrscheinlich: 1. erfordert spezifische Kenntnisse aller unterstützten Webbrowser und möglicherweise auch bestimmter Videoplayer und 2. nicht aller Videos werden vollständig auf der Festplatte gespeichert, da dies vom Videoplayer abhängt.)

    Edit: Dritte und vierte Möglichkeit hinzugefügt ...

  3. Die Software fordert das Video an, indem sie dieselbe Download-Anforderung wie das Viewer-Plug-In erstellt und die Daten dann beim Empfang speichert (dies unterscheidet sich von der ersten Möglichkeit, die ich oben aufgeführt habe, und erfordert möglicherweise ein Reverse Engineering des in Flash geschriebene Filmplayer oder ein Paket-Sniffing, um festzustellen, wie der URI tatsächlich erstellt wurde)

  4. Die Software ersetzt den Standard-Handler für Video-Player (oder ersetzt möglicherweise den Flash Player-Handler und fungiert als Interim-Handler für erkannte Websites wie YouTube.com, Video.Google.com usw., jedoch für Websites und Flash Animationsinhalte, die nicht speziell erkannt werden, geben die Arbeit einfach an das vorherige Flash Player-Plug-In weiter, um einen "transparenteren" Effekt für den Benutzer zu erzielen.

Randolf Richardson
quelle
Ja, das weiß ich, aber ich wollte detailliertere Informationen über den ersten Weg. dh wie genau identifiziert die Software einen Videostream, wie fängt sie den Stream ab usw.
Ankit Soni
Ich bin mir nicht sicher, wie Sie einen solchen Videostream abfangen würden, ohne einen Proxy zu verwenden, was diese Downloader meiner Meinung nach nicht tun. Eine andere Möglichkeit besteht darin, die Informationen auf der Seite zu verwenden, um die tatsächlichen Videodateien zu finden und direkt herunterzuladen. Weitere Informationen finden Sie unter raw.github.com/rg3/youtube-dl/2011.08.04/youtube-dl .
user55325
@ user55325: Genauso wie es Paket-Sniffing-Software tun würde.
Randolf Richardson
Muss das normalerweise nicht direkt in Ihre Netzwerktreiber eingebunden werden? Sicher ist es nicht so, wie youtube-dl es macht; es scheint, als wäre das irgendwie übertrieben.
user55325
@ user55325: Nun, ich habe " mindestens zwei Möglichkeiten " beschrieben - ich bin mir nicht besonders sicher, wie "youtube-dl" (von dem ich annehme, dass es der Name einer dieser "Video Grabbing" -Anwendungen ist) das Video erhält, aber bei Zumindest kennen Sie jetzt zwei mögliche Methoden. Das Einbinden in die Netzwerktreiber ist wahrscheinlich nicht erforderlich, da Windows wahrscheinlich eine übergeordnete API bereitstellt, die allgemeiner ist und keine NIC-spezifischen Hooks erfordert.
Randolf Richardson
2

YouTube hat eine eindeutige URL für jedes Video. Einige Websites bieten ein Online-Skript an, das YouTube-Videos in MP4 oder eine ähnliche Videodateierweiterung konvertiert . Dieses Skript lädt das Video normalerweise auf den FFMPEG-Server herunter und konvertiert es dann in MP4 oder ein anderes unterstütztes Format, sodass Sie das Streaming-Video herunterladen können.

Ryu
quelle
Beziehen Sie sich in Bezug auf die Konvertierung auf die kostenlose ffmpeg-Software, wenn Sie ffmpeg server sagen? Ich weiß nicht, dass es eine
Serveroption gibt
Das Video wird normalerweise als FLV-formatierte Datei gespeichert, die von dem hervorragenden kostenlosen und Open-Source-VLC-Player nativ abgespielt werden kann: videolan.org
Randolf Richardson
@barlop, Server verwendet Skript für die Konvertierung. Es gibt viele kostenlose und kostenpflichtige Skripte, die diese Art der Konvertierung durchführen. Die meisten dieser Skripte wurden als alternatives Klonskript für YouTube gestartet.
Ryu
@ Ryu Ich habe es noch nie versucht, nur ein bisschen zu lesen, aber ich denke, Sie meinen Dinge, die als Klon der YouTube-Website, / Skripte für die Video-Sharing-Website, Video-Hosting- und Sharing-Lösungen, serverseitiger FLV-Konverter wie dieser begonnen haben Paket youtube-clone.com Interessant. Ich sehe, dass ffmpeg Streaming beinhaltet, also kann es sein, dass es so etwas wie einen ffmpeg-Server gibt, wie Sie sagen, also sehen Sie, worauf Sie hinaus wollen. Ich hatte es noch nie erlebt.
Barlop
Der WinCAP-Treiber wird auf Windows-Servern und auf dem Desktop für die Stream-Erfassung verwendet. Sie können "URL snooper" googeln, um zu erfahren, wie Streams mit diesem Treiber auf dem Windows-Desktop erfasst werden können. Ebenso gibt es FFMPEG-Server, die darauf vorbereitet sind, Medieninhalte wie FLV-Dateien, Java- und Mediendateien zu verarbeiten.
Ryu
0

Es gibt ein Tool namens youtube-dl , das dies tut, indem es alle erforderlichen Informationen über die Videodatei und ihren Speicherort extrahiert und sie dann (entweder über RTMPDump oder direkt) gemäß der Spezifikation des Benutzers herunterlädt (viele YouTube-Videos sind in mehreren Formaten verfügbar ).

Die Python-Quelle ist verfügbar und sollte unter Linux, Windows und Mac OS X ausgeführt werden (vorausgesetzt, der Python-Interpreter ist installiert).

Ich würde denken, dass die meisten Downloader so funktionieren.

user55325
quelle