Создание видео из нескольких изображений

С помощью jcodec (http://jcodec.org/) у меня получилось создать видео из нескольких изображений. Как сделать так, чтобы каждое изображение в видеофайле показывалось определенное время. Сейчас изображения в видео показываются мгновенно.

 List<BufferedImage> listBI = new ArrayList();
    listBI.add(ImageIO.read(new File("C:\\1.jpg")));
    listBI.add(ImageIO.read(new File("C:\\2.jpg")));

    
    AWTSequenceEncoder encoder = null;
    try {
        encoder = AWTSequenceEncoder.createSequenceEncoder(new File("E:\\4.mp4"), 25); // 25 fps
        for (BufferedImage image : listBI) {
            encoder.encodeImage(image);
        }
    } catch (Exception e) {
        System.out.println("Fail to generate video!");

    }
    encoder.finish();

Ответы (1 шт):

Автор решения: MBo

Для того, чтобы кадры показывались по t секунд, можно добавлять каждый в количестве t * frames_per_sec копий (frames_per_sec - частота кадров). При этом размер видео должен остаться небольшим, т.к. межкадровое сжатие увидит, что соседние кадры подобны друг другу.

for (BufferedImage image : listBI) {
       for (int i = 0; i < t * 25; i++) 
            encoder.encodeImage(image);
    }
→ Ссылка