Mega.nz Stream
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ableger
anwendung
bedenken
bibliothek
code
datei
file
funktion
idee
info
klient
nutz
realisieren
server
speichern
umweg
url
video
vordergrund
webseite
-
Huhu,
Da man auf dem free webspace ja nicht so viele Dateien speichern darf (insbesondere Videos), hab ich mir gedacht, ich nutze mega.nz.
Auf GitHub gabs dann auch ne passende Library für die API (https://github.com/smartinm/mega-php-client) von Mega.nz.
Jetzt hab ich versucht nen file von Mega mit php zu downloaden - hat geklappt - , jedoch klappt bei mir die Stream-Funktion nicht. Auf Mega direkt gibt es ja keine Stream-Funktion. Der user soll einfach im html5 viewer das Video streamen können, welches sich der server grabbt.
Das funktionierende Download-Script:
$mega = new MEGA(); $info = MEGA::parse_link('https://mega.nz/example'); $fp = fopen("test.mp4", 'wb'); $size = $mega->public_file_download($info['ph'],$info['key'], $fp); fclose($fp);
Die Stream-Variante klappt bei mir nicht:
$mega = new MEGA(); $info = MEGA::parse_link('https://mega.nz/example'); return $content = $mega->public_file_download($info['ph'],$info['key']);
Vielen Dank im Vorraus für eure Tipps ;)
Beitrag zuletzt geändert: 3.3.2016 10:35:54 von wodka-gorbatschow -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
ich hab da große Bedenken, was du vor hast! was für Videos willst du denn streamen? Ich vermute mega.nz ist ein Ableger, wenn nicht die gleiche Firma, von Kim dotcom. Kennt vlt. der ein oder andere.
Ich denke beim streamen musst du aufpassen. PHP code wird auf dem Webserver ausgeführt, nicht wie bei Java auf dem Heimrechner. Somit versuchst du das Video zuerst auf den Server zu laden, was aufgrund der Dateisperre bzw. Größensperre untersagt ist.
Funktion 1 macht den direkten Download im Bypass zum Server, Funktion 2 lädt das video direkt auf den Server! -
Moin,
Danke für deine Antwort. :)
Du hast recht, es müsste alles über den server :/ --> schlechte idee von mir XD
User sollen videos hochladen können.
Die videos sollen restricted werden --> nur bestimmte user können sie ansehen
Dies könnte man halt nur per stream möglich machen, weil niemand den echten link zum server kennt, wo das file liegt.
Ich weiss, dass mega von kim schmitz gegründet wurde, aber soweit ich weiss wird der grad eh in die USA ausgeliefert
Hättet ihr ne idee, wie man sowas (viel speicherplatz, restricted und streammöglichkeit ohne Umweg auf server) realisieren kann?
Beitrag zuletzt geändert: 3.3.2016 11:34:47 von wodka-gorbatschow -
Wieso so komliziert? Erstelle eine neue php oder html seite und füge diesen Embed code ein.
width = Breite der Webseite
height = Höhe der Webseite.
Beachte: Dieser code Implementiert eine Webseite komplett. Das bedeutet, dass sie ggf. nicht richtig angezeigt wird, wie du es normalerweise wünscht.
<iframe width="560" height="315" src="https://www.mega.nz/example" frameborder="0" allowfullscreen></iframe>
Probiere doch erstmal diesen code aus. Bei mir hat dieser immer funktioniert. Falls du nur einen bestimmten bereich einer webseite willst, bin ich leider etwas überfordert. Naja gut ich bin auch keiner der webseiten in seine eigende bindet :D.
-
Erstmal ist es prinzipiell, wie Du ja bereits gemerkt hast, keine so gute Idee, das über den Server laufen zu lassen. Erst recht Deine Variante, die erst die Datei von Mega auf den Server lädt und dann an den Klient schickt.
Was Du machen könntest, ist, den Code der Bibliothek, die Du da verwendest, um eine Streaming Methode zu erweitern, die anstatt die Datei komplett herunterzuladen, das alles direkt an Klient weiterleitet, quasi ein Proxy der zur Entschlüsselung der Datei dient. So wie ich das sehe, solltest Du Dir dazu mal den Code hier anschauen: https://github.com/smartinm/mega-php-client/blob/master/lib/mega.class.php#L704. Da anstatt den Text an ret anzuhängen einfach direkt ausgeben. Das so in der Bibliothek zu machen wäre allerdings eher unschön. Und auch wenn Du es schaffst, das so abzuändern, dass es die Datei nicht mehr komplett in den Speicher des Servers läd, verbraucht das doch eine Menge Bandbreite und fällt meines Erachtens nach auch nicht mehr unter Fair Use.
Eine andere Möglichkeit wäre, das in JavaScript (nicht Java @tchiarcos) zu implementieren, evtl. gibt es da auch schon fertige Dinge. Dann würde das den Server nicht mehr belasten.
Aber warum verwendest Du nicht einfach ein Portal wie YouTube? Die sind wenigstens auch zum Video Streamen gemacht, bei Mega steht ja unter anderem die Verschlüsselung im Vordergrund, die bei Deiner Anwendung aber nur im Weg ist.
Wenn Du kein YouTube willst, gibt es bestimmt auch andere Filehoster, bei denen Du einen direkten Link bekommst, den Du z.B. per <video> Tag einbinden kannst. Google Drive und Dropbox könnten da evtl. funktionieren (bin mir da nicht sicher) oder Du bezahlst einfach die 2€ im Monat für Premium. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage