Ejecutar programa como linea de comandos
Publicado por Fibus (1 intervención) el 24/01/2006 09:40:01
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:\Ffmpeg\ffmpeg -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?
Lo uso para sacar frames de un video con formato MPEG4.
Desde la consola de windows tecleo lo siguiente:
c:\Ffmpeg\ffmpeg -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?
Valora esta pregunta


0