Ich versuche, die rohe Audiodatei von einer bestimmten Site herunterzuladen.
Die Seite enthält den folgenden HTML-Code:
<html>
<body>
<video controls="" autoplay="" name="media">
<source src="http://site.com/sound.php?id=1&stream" type="audio/mpeg">
</video>
</body>
</html>
Anstelle einer Rohdatei wird die Datei über das PHP-Skript bereitgestellt. Der Versuch, diese PHP-Datei zu öffnen, führt dazu, dass sie zur Hauptseite zurückgeleitet wird.
Gibt es eine Möglichkeit, dies zu umgehen? Ich habe noch nie eine solche Technik gesehen.
Es soll gestreamt (wahrscheinlich mit DASH ) und nicht heruntergeladen werden. Haben Sie versucht, eine Website oder ein Tool zum Herunterladen von Videos zu verwenden?
Synetech
Noch nicht, ich möchte es im Browser machen und nichts von Drittanbietern verwenden. (Ich verwende Safari auf einem Mac). Oder wenn möglich über ein Befehlszeilenskript ...
Justin Mrkva
Ich möchte auch die Lösung selbst kennen, nicht nur eine App, mit der sie funktioniert. Beispielsweise kann es eine Möglichkeit geben, eine Anfrage zu erstellen, die die PHP-Datei als vom HTML5-Video-Player stammend betrachtet und die Bytes an eine Datei in der Befehlszeile weiterleitet. Ich weiß allerdings nicht, wie das funktionieren würde. cURL ist möglicherweise in der Lage, dies zu tun, aber ich bin nicht sicher, wie, insbesondere, wie der richtige Bytestream aufgegeben werden soll, anstatt nur zur Startseite zurückzukehren.
Justin Mrkva
Das wird nicht funktionieren, wenn es Streaming ist; Sie müssten es tatsächlich streamen und die Daten behalten. Das ist, was Video-Download-Programme tun; Browser nicht (weder das HTML5-Modul des Browsers noch Flash). Technisch gesehen , eine Video-Download - Website unter Verwendung würde sein „in-Browser“. Wenn es sich bei der Video-Site um eine handelt, die von der Download-Site unterstützt wird, verfügen sie über eine Zuordnung oder eine Methode, mit der festgelegt werden kann, wie auf die eigentliche Videodatei zugegriffen werden soll. Wenn es sich jedoch um ein DASH-Streaming-Video handelt, wird dies wahrscheinlich unterstützt.
Synetech
Da ist der Haken ... Der Browser sendet während der Interpretation des HTML5-Video-Tags bestimmte HTTP-Anforderungen, um die Daten von dieser URL irgendwie abzurufen. Die PHP-Datei gibt die Bytes zurück, aus denen die Datei besteht. Jedes Mal, wenn ich eine HTTP-GET-Anforderung mit cURL stelle, gibt es immer eine 302 zurück und leitet zur Startseite weiter. Ich möchte versuchen, das HTML5-Video-Tag zu simulieren und die Daten aus dem Stream zu erfassen, kann aber nicht herausfinden, wie das geht. Und egal welche Art von Streaming sie verwenden, ich denke nicht, dass es DASH ist. (Wenn ja, wie würde ich es wissen und wie würde ich auf die Datei zugreifen)?
Justin Mrkva