Execution de commande et récuperation de résultat ?

Execution de commande et récuperation de résultat ? - PHP - Programmation

Marsh Posté le 07-02-2007 à 15:21:09    

Salut,
je fais lancer ffmpeg par php pour creer des miniatures de videos, mais j'arrive pas a récupérer le résultat de la ligne de commande (pour récup les infos tel que la durée de la video etc ...), j'ai essayé tout les type d'execution mais j'ai pas trouvé, quelqu'un saurait comment faire ?
Merci

Reply

Marsh Posté le 07-02-2007 à 15:21:09   

Reply

Marsh Posté le 07-02-2007 à 15:29:31    

tu as essayé avec exec (en utilisant le 2ème argument output) ?

Reply

Marsh Posté le 07-02-2007 à 16:20:06    

Ouaih mais rien
je viens de retest avec
 
<?
  exec ('ffmpeg -y -i test.wmv -b 1000 -vframes 1 -ss 00:00:04 -an -vcodec mjpeg -f rawvideo -s 120x80 test.jpg', $out);
  foreach($out as $output) echo $output;
?>

Reply

Marsh Posté le 07-02-2007 à 18:24:32    

Quand tu executes cette ligne en ligne de commande (sans passer par php donc) ca t'affiche quoi?

Reply

Marsh Posté le 07-02-2007 à 23:20:48    

Je viens de remarquer que je peux pas rediriger le résultat vers un fichier en ajoutant un truc comme "> output.txt" a la ligne de commande ca doit etre quelque chose lié a ffmpeg
 
quand je lance la commande ca me fait un truc comme ca
 
C:\Program Files\Apache\www>ffmpeg -y -i test.wmv -b 1000 -vframes 1 -an -vcodec mjpeg -f rawvideo -s 120x80 test.jpg
FFmpeg version SVN-r7760, Copyright (c) 2000-2006 Fabrice Bellard, et al.
  configuration:  --enable-memalign-hack --enable-gpl --cpu=i686 --enable-swscaler --enable-pthreads --enable-avisynth --enable-mp3lame
able-vorbis --enable-libtheora --enable-faad --enable-faac --enable-libgsm --enable-dts --enable-a52 --enable-amr_nb --enable-amr_wb
  libavutil version: 49.2.0
  libavcodec version: 51.29.0
  libavformat version: 51.8.0
  built on Jan 29 2007 19:58:47, gcc: 3.4.6
 
Seems stream 1 codec frame rate differs from container frame rate: 1000.00 (1000/1) -> 30.00 (30/1)
Input #0, asf, from 'test.wmv':
  Duration: 00:00:16.2, start: 3.000000, bitrate: 325 kb/s
  Stream #0.0: Audio: wmav2, 44100 Hz, stereo, 64 kb/s
  Stream #0.1: Video: msmpeg4, yuv420p, 320x240, 30.00 fps(r)
Output #0, rawvideo, to 'test.jpg':
  Stream #0.0: Video: mjpeg, yuvj420p, 120x80, q=2-31, 1 kb/s, 30.00 fps(c)
Stream mapping:
  Stream #0.1 -> #0.0
Press [q] to stop encoding
Compiler did not align stack variables. Libavcodec has been miscompiled
and may be very slow or crash. This is not a bug in libavcodec,
but in the compiler. Do not report crashes to FFmpeg developers.
frame=    1 q=1.6 Lsize=       1kB time=0.0 bitrate= 337.9kbits/s
video:1kB audio:0kB global headers:0kB muxing overhead 0.000000%


Message édité par hardcoregamer le 07-02-2007 à 23:21:11
Reply

Marsh Posté le 08-02-2007 à 14:14:29    

ok j'ai trouvé la solution sur le forum du gars qui a compilé ffmpeg
le resultat etant envoyé a stderr on peut le rediriger sur stdout et donc le récup avec php en ajoutant " 2>&1" a la fin de la commande :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed