Exec Befehl

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Exec Befehl

    hi

    ich will mit einem php script einen cmd befehl auf dem server aufrufen der dann einen videoconverter startet der im batch modus funktioniert. Leider bekomme ich aber über diesen Befehl kein ergebnis:

    PHP-Code:
    $convert '"F:\Programme\Riva FLV Encoder 2.0\ffmpeg.exe" -i "'.$directory.$file.'" -b 360 -r 25 -s 480x360 -hq -deinterlace  -ab 56 -ar 22050 -ac 1  "'.$directory.$fileflv.'" 2>encode.txt';

    exec($convert); 
    Hier mit einem beispielvideo:

    "F:\Programme\Riva FLV Encoder 2.0\ffmpeg.exe" -i "D:\hallo.mpg" -b 360 -r 25 -s 480x360 -hq -deinterlace -ab 56 -ar 22050 -ac 1 "D:\hallo.flv" 2>encode.txt


    Wenn ich diesen code allerdings in der CMD eingebe wird sofort das convertierte video erstellt. Es wird bei dem Befehl kein wert zurück gegeben.

    Hat jemand eine idee?

    Grüße Chaos

  • #2
    zeig mal ein var_dump() von dem, was exec() zurückgibt.

    Kommentar


    • #3
      kannste mir vielleicht schnell sagen wie ich das mache ?

      Kommentar


      • #4
        PHP-Code:
        $foo funktion_die_etwas_zurückgibt();
        var_dump($foo); 

        Kommentar


        • #5
          also var_dump($convert); bringt wie erwartet diesen befehl zum vorschein. (Bis auf das string(314)"" womit ich nichts anfangen kann)

          string(314) ""F:\Programme\Riva FLV Encoder 2.0\ffmpeg.exe" -i "D:\hallo.mpg" -b 360 -r 25 -s 480x360 -hq -deinterlace -ab 56 -ar 22050 -ac 1 "D:\hallo.flv" 2>encode.txt"

          Dieser Befehlt sollte von der ffmpeg.exe in eine batch datei geschrieben, die beim ausführen das video erstellt.

          gruß

          Kommentar


          • #6
            versuchs mal mit

            PHP-Code:
            <?php

            $convert 
            "dein Programm"
            exec($convert,$ausgabe);
            print_r($ausgabe);

            ?>
            vielleicht hilft dir die ausgabe etwas weiter

            PS:String(314) sagt dir das dein $convert ein String mit 314 Zeichen ist

            Kommentar


            • #7
              da kommt auch nur "Array ( )" bei raus.

              Kommentar


              • #8
                nutze http://de.php.net/manual/en/function.passthru.php, zeig die ausgabe und den rückgabewert.

                Kommentar


                • #9
                  jezt hat sich noch eine "1" an das ende dazu gesellt.

                  Kommentar


                  • #10
                    was hast du denn nun ausgeführt?

                    Kommentar


                    • #11
                      ich hab exec durch passthru ersetzt und wie vorher die $convert ausgeführt. Meintest du das nicht?

                      Kommentar


                      • #12
                        code zeigen.

                        Kommentar


                        • #13
                          PHP-Code:
                              $convert '"F:\Programme\Riva FLV Encoder 2.0\ffmpeg.exe" -i "'.$directory.$file.'" -b 360 -r 25 -s 480x360 -hq -deinterlace  -ab 56 -ar 22050 -ac 1  "'.$directory.$fileflv.'" 2>encode.txt';  
                          passthru($convert,$ausgabe);
                          var_dump($convert);        
                          print_r($ausgabe); 
                          $ausgabe und $convert enhalten das selbe bis auf die stringlänge.
                          Zuletzt geändert von chaosbanane; 01.01.2007, 22:29.

                          Kommentar


                          • #14
                            kannst du auch das mal zeigen?
                            evtl. muss man "start" vor den programmnamen schreiben.
                            evtl. liegt ein rechte-problem vor.

                            Kommentar


                            • #15
                              das ist jetzt die komplette ausgabe:

                              string(314) ""F:\Programme\Riva FLV Encoder 2.0\ffmpeg.exe" -i "D:\hallo.mpg" -b 360 -r 25 -s 480x360 -hq -deinterlace -ab 56 -ar 22050 -ac 1 "D:\hallo.flv" 2>encode.txt" "F:\Programme\Riva FLV Encoder 2.0\ffmpeg.exe" -i "D:\hallo.mpg" -b 360 -r 25 -s 480x360 -hq -deinterlace -ab 56 -ar 22050 -ac 1 "D:\hallo.flv" 2>encode.txt

                              aber komischerweise funktioniert zb:

                              echo exec('whoami');

                              Das mit dem start funktioniert nicht. der Befehl darf ja nicht anders in der ausgabe stehen als:

                              "F:\Programme\Riva FLV Encoder 2.0\ffmpeg.exe" -i "D:\hallo.mpg" -b 360 -r 25 -s 480x360 -hq -deinterlace -ab 56 -ar 22050 -ac 1 "D:\hallo.flv" 2>encode.txt

                              Kommentar

                              Lädt...
                              X