Zum Inhalt springen

rtmpdump.exe über PHP-Skript starten


Empfohlene Beiträge

Hallo Leute,

der Titel sagt eigentlich schon alles. Ich möchte aus einem PHP-Skript heraus die rtmpdump.exe aufrufen und so einen Stream auf dem Server speichern.

Dieser Code erzeugt mir eine funktionierenden rtmpdump-Aufruf:


$RtmpCMD = 'rtmpdump.exe -r "' .
rawurldecode($this->XML->{"playlist"}->{"videos"}->{"video"}->attributes()->{"connectionurl"}) .
'" --tcUrl="' . rawurldecode($this->XML->{"playlist"}->{"videos"}->{"video"}->attributes()->{"connectionurl"}) .
'" --swfVfy="' . rawurldecode($this->XML->{"playlist"}->{"videos"}->{"video"}->attributes()->{"path"}) . 'player/mingR13y/ming.swf' .
'" --pageUrl="' . $this->GetVideoWeblink() . '" --playpath="' .
rawurldecode($this->XML->{"playlist"}->{"videos"}->{"video"}->attributes()->{"source"}) .
'" -o "test.flv"';

$RtmpCMD = str_replace("rtmpe", "rtmp", $RtmpCMD);
[/PHP]

Den schreibe ich dann in eine Batch-Datei:

[PHP]
$handle = fopen("rtmp.bat", "c");
fwrite ($handle, $RtmpCMD);
fclose($handle);

Im Anschluss rufe ich die Batch-Datei auf:


passthru("cmd /C rtmp.bat");
[/PHP]

Nur leider wird der Stream nicht heruntergeladen. Zum Test habe ich in die Batch-Datei einfach mal ein "mkdir aaa" vor dem rtmpdump-Befehl eingetragen, um zu sehen, ob passthru() die Batch überhaupt ausführt. Und tatsächlich - das Verzeichnis "aaa" wird erstellt.

Wie bereits oben angedeutet, funktioniert der rtmpdump-Befehl aber, denn wenn ich die Batch im Windows-Explorer aufrufe, funktioniert es alles genau wie gedacht...

Das Problem scheint also irgendwie bei dem Aufruf über PHP zu liegen.

Hat jemand eine Idee, woran das liegen könnte?

Vielen Dank schonmal!

LG Luk

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo lupo49! Erst mal vielen Dank für deine Antwort!

Ich rufe nicht über den absoluten Pfad auf, was - soweit ich weiß - keine Probleme machen dürfte, denn ich habe die rtmpdump.exe in system32 abgelegt.

An die Skriptlaufzeit habe ich auch schon gedacht, aber trifft die nur für das PHP-Skript selbst zu oder auch für alle Prozesse, die daraus gestartet werden?

Das Problem ist, dass man von rtmpdump irgendwie die Ausgabe nicht abfangen kann. -.-

Link zu diesem Kommentar
Auf anderen Seiten teilen

Habe jetzt eben mal die php.ini verändert und natürlich den Apache-Dienst neugestartet.


max_execution_time=120     ; Maximum execution time of each script, in seconds

max_input_time=120 ; Maximum amount of time each script may spend parsing request data

memory_limit=-1      ; Maximum amount of memory a script may consume (128MB)

Habe den Dienst sogar mit einem Admin-Konto anmelden lassen.

Es passiert einfach nichts -.-

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...