Ejecutar programa como linea de comandos
Os cuento: tengo un programa llamado "ffmpeg" que funciona con lÃnea de comandos.
Lo uso para sacar frames de un video con formato MPEG4.
Desde la consola de windows tecleo lo siguiente:
c:Ffmpegffmpeg -i demomp4.mp4 -vframes 1 demomp4%d.png
Os detallo las opciones de entrada:
-i input file -----------------> le digo como se llama el video
-vframes 1 -----------------> para que me extraiga un solo frame
-demomp4%d.png ---------> nombre del frame
Le doy y..... funciona!!!!!!
Bien. Ahora quiero que esto mismo que hago yo con la consola, me lo haga un programa java. DeberÃa ser tan facil como lo siguiente:
***********************************************************************************
package javipruebas;
import java.io.*;
public class prueba {
public static void main(String[] args) throws IOException {
String TomaFrame = "C:\Ffmpeg\ffmpeg -i demomp4.mp4 -vframes 1 demomp4%d.png";
try {
Runtime run= Runtime.getRuntime();
System.out.println(comando);
Process pp = run.exec(comando);
// Para ver la salida que me da al ejecutar el programa
BufferedReader in =new BufferedReader(new InputStreamReader(pp.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
} catch (Exception e) {
e.printStackTrace();
System.out.println(e.getMessage());
}
}}
***********************************************************************************
Bueno, pues lo ejecuto, y.... nada. No hace absolutamente nada.
Lo mismo que ejecuto desde la consola de windows que funciona, con
java no funciona.
¿Qué ocurre?
Javi.
Lo uso para sacar frames de un video con formato MPEG4.
Desde la consola de windows tecleo lo siguiente:
c:Ffmpegffmpeg -i demomp4.mp4 -vframes 1 demomp4%d.png
Os detallo las opciones de entrada:
-i input file -----------------> le digo como se llama el video
-vframes 1 -----------------> para que me extraiga un solo frame
-demomp4%d.png ---------> nombre del frame
Le doy y..... funciona!!!!!!
Bien. Ahora quiero que esto mismo que hago yo con la consola, me lo haga un programa java. DeberÃa ser tan facil como lo siguiente:
***********************************************************************************
package javipruebas;
import java.io.*;
public class prueba {
public static void main(String[] args) throws IOException {
String TomaFrame = "C:\Ffmpeg\ffmpeg -i demomp4.mp4 -vframes 1 demomp4%d.png";
try {
Runtime run= Runtime.getRuntime();
System.out.println(comando);
Process pp = run.exec(comando);
// Para ver la salida que me da al ejecutar el programa
BufferedReader in =new BufferedReader(new InputStreamReader(pp.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
} catch (Exception e) {
e.printStackTrace();
System.out.println(e.getMessage());
}
}}
***********************************************************************************
Bueno, pues lo ejecuto, y.... nada. No hace absolutamente nada.
Lo mismo que ejecuto desde la consola de windows que funciona, con
java no funciona.
¿Qué ocurre?
Javi.
