Bom dia!
Esstou fazendo um programinha que automatiza os processos de transmissão e conversão de video, bem simples e tal :
import java.io.BufferedReader;
import java.io.IOException;
import java.util.Scanner;
import java.io.File;
import java.io.InputStream;
import java.io.InputStreamReader;
public class Automat {
public static void main(String[] args) throws IOException
{
int vezes;
File arquivo = new File("log.txt");
arquivo.createNewFile();
String ip,porta,arq;
Scanner scan = new Scanner(System.in);
System.out.println("Por favor, digite o numero de vezes:");
//pede as informacoes
vezes = scan.nextInt();
System.out.println("Informe o Ip:");
ip = scan.next();
System.out.println("Informe a porta:");
porta = scan.next();
System.out.println("De um nome para o arquivo(SEM A EXTENSAO):");
arq = scan.next();
//entra no laco
for(int x = 1;x<=vezes;x++)
{
//grava o primeiro comando
String [] cmdGrava={"bash","-c","cvlc http://"+ip+":"+porta+" --sout "+arq+x+".mp4 vlc://quit"};
//grava o comando que transforma o yuv para mp4
String [] cmdTransforma={"bash","-c","ffmpeg -i "+arq+x+".mp4 "+arq+x+".yuv"};
//grava o comando que gera os dados de comparacao da qualidade do videos transmitido para o video original
String [] cmdCompara={"bash","-c","wine"," psnr 352 288 420 "+arq+x+".yuv "+arq+x+".yuv >> log.txt"};
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec(cmdGrava);
Process process2 = runtime.exec(cmdTransforma);
Process process3 = runtime.exec(cmdCompara);
}//fim loop
} //fim main
}//fim prog
O problema é que ele só executa o primeiro comando, acho que ta faltando alguma coisa que force todos os processos a serem executados, por favor me deem uma luz, seria necessário usar o Processbuilder? Não entendi bem como funciona.
Muito obrigado!