Befehl funktioniert vom Terminal aus, aber nicht von PHP aus


0

Ich kann eine ausführbare Datei erfolgreich über die Befehlszeile ausführen, aber wenn ich versuche, dasselbe mit PHP zu tun, ist exec()das Ergebnis anders.

Der Befehl lautet:

ffmpeg -i a.wav -i a.m2v a.mpeg

Wenn Sie mit PHP arbeiten, heißt es im Movie Player einfach "Die Datei enthält keine abspielbaren Streams".

Du weißt, warum?


Welchen Befehl führen Sie aus?
John T

Der Befehl lautet 'ffmpeg -i a.wav -i a.m2v a.mpeg'
user23945

und was ist die unterschiedliche Ausgabe, die ffmpeg dir gibt?
John T

Vom Terminal aus ist die Ausgabedatei ein funktionierendes Video. Wenn der Movie Player von PHP aus ausgeführt wird, heißt es einfach "Die Datei enthält keine abspielbaren Streams".
user23945

Aber wird die Ausgabe generiert? Und hat es eine ungleich Null Dateilänge?
Arjan

Antworten:


0

Ich würde die Umgebungsvariablen überprüfen. Möglicherweise kann ffmpeg seine Ressourcen nicht finden (oder kann aufgrund von Berechtigungsbeschränkungen nicht darauf zugreifen), wenn Sie es von PHP aus ausführen.


Guter Punkt. Die ausführbare Datei ffmpeg wird jedoch gefunden und kann die Dateien mit den richtigen Berechtigungen verwenden. Haben Sie andere Namen der Variablen?
user23945

Ich bin nicht sehr vertraut mit ffmpeg. Vielleicht könnte es einige Umgebungsvariablen verwenden, die explizit auf die Verzeichnisse verweisen, in denen es seine Codecs findet.
Aussenseiter

Ich würde auch untersuchen, ob ffmpeg eine "-v" -Option hat, mit der Sie die Ausführlichkeit erhöhen können, wenn Sie es von PHP aus ausführen. Dann könnten Sie die Ausgabe erfassen und untersuchen, vielleicht wird sie sich dort über etwas beschweren, das fehlt.
Aussenseiter

Ich habe es gelöst! Die Option -v war in der Tat nützlich, ich habe ffmpeg -v 5 verwendet und nützliche Informationen erhalten. Das Problem war, dass ffmpeg nach einer Weile beendet wurde, vielleicht die max_exection-Zeit von phps, weiß es nicht. Allerdings starte ich jetzt nohup php myfile.php. Vielen Dank!
user23945
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.