Googleando me encontré con una interesante clase java «JpegImagesToMovie» que convierte imágenes JPEG a vídeo MOV de QuickTime, la clase cuenta con muchos métodos disponibles, lo malo es que hace uso de Vector el cual ya esta obsoleto, aún así la clase funciona sin problemas.
Para hacer correr esta clase, dejo el código del Main abajo:
import java.io.File;
import java.net.MalformedURLException;
import java.util.Vector;
import javax.media.MediaLocator;
/**
* @web https://www.jc-mouse.net/
* @author Mouse
*/
public class Main {
static JpegImagesToMovie imageToMovie = new JpegImagesToMovie();
static String movFile = "video_ponja.mov"; //Nombre del video
static int screenWidth=480;
static int screenHeight=360;
//direccion donde estan las imagenes JPEG
static String carpeta_de_imagenes = "C:\\Users\\hijo de satan\\Pictures\\";
public static void main(String[] args) {
Vector<String> imgLst = new Vector<String>();
//se leen todas las imagenes de la direccion dada y se colocan en el Vector imgLst
File folder = new File( carpeta_de_imagenes );
File[] listOfFiles = folder.listFiles();
System.out.println( "Imagenes JPEG: " + listOfFiles.length );
for (int i = listOfFiles.length-1; i >=0 ; i--) {
imgLst.add( listOfFiles[i].getAbsolutePath() );
}
//
MediaLocator oml;
if ((oml = imageToMovie.createMediaLocator( movFile )) == null)
{
System.err.println("No se puede construir media locator de: " + movFile);
System.exit(0);
}
//Se crea el video
try {
//Ancho, alto, FPS, lista de imagenes, MediaLocator
imageToMovie.doIt(screenWidth, screenHeight, 11, imgLst, oml);
} catch (MalformedURLException ex) {
System.err.println( ex.getMessage() );
}
}
}
Enjoy!!!
Muchas de las innovaciones computacionales de la NASA se desarrollaron para ayudar a explorar el espacio, pero ahora la[...]
Cuando se realizan trabajos donde se necesita mostrar al cliente un determinado monto de dinero, tipo factura, recibo, c[...]
¿Alguna vez tuviste la necesidad de hacer una captura de pantalla de una página web? Si es así, seguramente buscaste y d[...]
Qwen es una familia de grandes modelos de lenguaje (LLMs) desarrollado por Alibaba Cloud. Este modelo multimodal es capa[...]
Programar es un arte y si bien escuchar música no te convertirá en un programador más hábil, estudios han demostrado que[...]
Un Fragment representa un comportamiento o una parte de la interfaz de usuario en una Activity. Puedes combinar múltiple[...]