Voilà je souhaite lancer un programme fonctionnant en ligne de commande (ffmpeg => encodeur vidéo) à partir d'un programme JAVA.

J'utilise la classe Runtime mais je n'obtiens pas le résultat escompté.

J'ai commencé par essayer de lancer bêtement le programme avec une ligne du genre : Process p = runtime.exec("c:/ffmpeg/ffmpeg.exe"); mais il ne se passe rien (ça compile, pas d'erreur à l'exécution et pas d'affichage).

Ensuite je suis partie sur l'idée de lancer une autre commande dos à partir du programme java et d'exécuter ffmpeg ds cette nouvelle commande. J'utilise pour cela la commande dos start mais j'obtiens alors une erreur à l'exécution. Voici mon code et l'erreur obtenue.

Pourtant la commande fonctionne très bien en ligne de commande mais ça génère une erreur dans mon programme JAVA. Je n'y comprend rien .

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 public class executer
{
    public static void main(String[]args)
    {
        try
        {
            String[] cmd = {};
            Runtime runtime = Runtime.getRuntime();
            Process p = runtime.exec("start C:/ffmpeg/ffmpeg.exe");
            p.waitFor();
        }
        catch (Exception err)
        {
            err.printStackTrace();
        }
    }
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 java.io.IOException: CreateProcess: start C:/ffmpeg/ffmpeg.exe error=2
        at java.lang.ProcessImpl.create(Native Method)
        at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
        at java.lang.ProcessImpl.start(ProcessImpl.java:30)
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:451)
        at java.lang.Runtime.exec(Runtime.java:591)
        at java.lang.Runtime.exec(Runtime.java:429)
        at java.lang.Runtime.exec(Runtime.java:326)
        at executer.main(executer.java:12)
PS: Je réussi à lancer par exemple eclipse à partir de mon programme JAVA mais cela ne fonctionne pas avec ffmpeg car c'est un programme qui fonctionne en ligne de commande.

Si qqn pouvait me venir en aide ce serait pas de refus...