Bonjour,

J'essaie d'executer la commande linux suivante en Java:
"
ffmpeg -i test3.wmv 2>&1 | grep "Duration" | cut -d ' ' -f 4 |sed s/,//
"
Si j'execute que le début (avant le |) avec un processbuilder, je n'ai aucun problème. Par contre, au '|', il me met comme erreur:
"Unable to find a suitable output format for '|'.
Je sens bien que le problème est le pipe mais je ne vois pas comment faire autrement...

Merci pour votre aide.

Mon code:
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 String[] cmdLine = ["ffmpeg","-i",fOriginal.path,"'|'","grep","'Duration'","|","cut","-d","\' \'","-f","4","|","sed s/,// "]
 
			ProcessBuilder pb = new ProcessBuilder(cmdLine)
			pb.redirectErrorStream(true)		
			Process p = null;
 
			try
			{
				p = pb.start();
				logProcessOutputAndErrors(p);
			}
			catch (Exception ex) 
			{
				logger.warn "Can't create process to convert '${inFileName}'"
				p?.destroy();
				return false;
			}
 
			// wait until the process is finished
			try
			{
				p.waitFor();
			}
			catch (InterruptedException e)
			{
				p.destroy();
			}
			if (p.exitValue() != 0)
			{
				logger.warn("Error while converting '" + inFileName + "'.");
				return false;
			}