et j'ai quelques choses de currieux...
POur lancer ma commande FFmpeg j'utilise RunProgram avec #PB_Program_Open|#PB_Program_Read
pour récupérer ce qui sort de FFmpeg
or ça marche tres bien avec un
mais si je fais un ffmpeg pour encoder une videoffmpeg -h
et bien ça quit tout seul sans rien me retourner.ffmpeg -i video.avi -vcodec libx264 -b 5000k test.mp4
Parcontre si je change les paramètre de RunProgram avec juste #PB_Program_Open ça fonctionne (mais j'ai les infos dans la fenêtre de la console et je ne peux pas les récupérer)
Comment faire ?
Je me demande si ce n'est pas du au faite que lorsqu'on encode, FFMPEG detect les entrée des touches (q pour arrêter) et qu'il peut poser des question "voulez vous ecraser le fichier test.mp4 ? (y/n)" .... Comment gérer ce genre de message via mon propre programme en Purebasic...
J'ai chercher sur le forum anglais, et ici, j'ai trouvé plein de truc intéressant ... mais sur ce problème rien.
Certain d'entre vous on déjà utilisé FFMPEG mais il utilisait en paramètre #PB_Program_Wait ce qui marche, mais on a pas de retour ...
Code : Tout sélectionner
FFmpeg$="ffmpeg.exe"
Parameter.s="-h"
Parameter.s="-i -"+Chr(34)+File.s+Chr(34)+" -vcodec libx264 -vpre hq -b 5000k test3.mp4";Mettre cette ligne en commentaire pour tester avec les parametre -h
Exec=RunProgram(FFmpeg$,Parameter,"",#PB_Program_Open|#PB_Program_Read);
If Exec
While ProgramRunning(Exec)
Debug ReadProgramString(Exec)
Wend
Debug "Error:"+ReadProgramError(Exec)
Debug (ProgramExitCode(Exec))
EndIf
WaitProgram(Exec)
CloseProgram(Exec)
Une idée ?