El ejemplo de este artículo describe el método de llamar a FFMPEG para implementar la conversión de video. Compártelo para todos para su referencia. El análisis específico es el siguiente:
Aquí me probaron debajo de la plataforma de Windows. Esencia Esencia
Debe tener 4 archivos en E:/debajo de ffmpeg.exe;
También coloque varios archivos de video llamados a:/entrada;
Formato fempeg.exe: (ASX, ASF, MPG, WMV, 3GP, MP4, MOV, AVI, FLV, etc.)
Para los formatos de archivo (WMV9, RM, RMVB, etc.) que ffmpeg.exe no se puede analizar, puede usar otras herramientas (mencoder) para convertirlo en formato AVI (análisis ffmpeg);
Mencoder.exe;
Luego convierta el archivo AVI de conversión con ffmpeg.exe en un archivo de video de formato FLV. Esencia Esencia
El contenido del archivo Java es el siguiente:
Import java.io.file; ) {System.out.println (Path+"no es archivo"); ; = NULL) return False; / AVI Los archivos no obtienen estado = Processflv (aviFilePath); . ") + 1, Path.Length ()). TOLOWERCASE (); // FFMPEG 能解析的格式 : (ASX, ASF , MPG, WMV , 3GP , MP4 , MOV , AVI, FLV, etc.) if (tipo .equals ("" avi ") {return 0;} else if (type.equals (" mpg ") {return 0;} else if (type.equals (" wmv ")) {) {return 0;} si (type.equals ("3gp") {return 0;} else if (type.equals ("mov") {return 0;} else if (type.equals ("mp4") {return 0;} else if (type .equals ("asf") {return 0;} else if (type.equals ("asx") {return 0;} else if ("flv")) {return 0;} // El formato de archivo que no se puede analizar Para FFMPEG (WMV9, RM, RMVB, etc.), // Puede usar otras herramientas (Mencoder) para convertir en formato AVI (FFMPEG se puede analizar). if (type.equals ("rm") {return 1;} else if (type.equals ("rmvb") {return 1;} return 9;} private static boolean checkfile (string ruta) {archivo archivo = nuevo archivo (( ruta); . Agregar (Path); .DD ("-ovc"); "); Commend.add (" -o "); commend.add (" c: //home/a.avi "); try {ProcessBuilder Builder = New ProcessBuilder (); Builder.command (comentario); Builder.Start (); , Mov, avi, flv, etc.) Processflv de booleano estático privado (string OldFilepath) {if (! Ch! Ch! Ch! Eckfile (Path) {System.out.println (OldFilepath+"no es archivo"); return False;} List <String > comentario = nuevo java.util.ArrayList <); ("-I"; ; 230 "); commend.add (" -r "); commend.add (" 24 "); comodio.add (" -iy "); commend.add (" c: //home/a.flv "); Intente {ProcessBuilder Builder = New ProcessBuilder ();Se espera que este artículo sea útil para el diseño del programa Java de todos.