php + ffmpeg -> output auf stderr, wie auslesen?!

  • heyho

    ich will nen kleines videoconvertertool schreiben und nutze dafür ffmpeg, allerdings bekomm ich keinen output von dem programm.

    wenn ich das normal auf dem server in einer shell starte bekomm ich sowas hier:

    wenn ich jetzt aber das gnaze mit folgendem code aurufe:

    Code
    flush();
        $fp = popen("ffmpeg -debug -y -i video.mp4 -acodec copy -f flv out.flv","r");
        while(!feof($fp))
        {
            // send the current file part to the browser
            print fread($fp, 1024);
            // flush the content to the browser
            flush();
        }
        fclose($fp);

    bekomm ich rein gar nichts zurück.
    der gibt den output nicht an stdout sondern stderr, wie kann ich das jetzt mit php abgreifen?
    host is nen debian lenny!

    jemand ne idee?

  • PHP kann das offenbar nicht, also muss da das Betriebsystem oder ffmpeg ran.

    Eine Umleitung von stdout nach stderr kriegt man ja über 2>&1 am Ende des Befehls hin. Findest du auch als Beispiel auf der PHP-Seite zu popen. ffmpeg hingegen kenn ich zuwenig, aber in der Manpage konnte ich nach einem kurzen Überfliegen auch nichts finden.

    Nachtrag: PHP kann es doch, aber über eine andere (weitaus komplexere) Funktion: http://ch.php.net/manual/en/function.proc-open.php

    Einmal editiert, zuletzt von gandro (18. Juni 2009 um 18:43)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!