Μετατροπή PPT σε βίντεο σε Java

Ισχυρό cross-platform Java API για μετατροπή PowerPoint σε βίντεο χρησιμοποιώντας κώδικα Java

Μετατρέψτε το PowerPoint σε βίντεο χρησιμοποιώντας το Aspose.Slides

Το Aspose.Slides for Java είναι μια ισχυρή βιβλιοθήκη Java που χρησιμοποιείται για τη δημιουργία, επεξεργασία και χειρισμό παρουσιάσεων και επίσης μετατροπή παρουσιάσεων PowerPoint σε άλλα έγγραφα και βίντεο . Σε αυτήν την περίπτωση, για να μετατρέψετε το PowerPoint σε βίντεο, πρέπει να χρησιμοποιήσετε το Aspose.Slides μαζί με το ffmpeg.

Έτσι λειτουργεί η διαδικασία μετατροπής PPT σε βίντεο: Το Aspose.Slides χρησιμοποιείται για τη δημιουργία ενός συνόλου καρέ (από τις διαφάνειες παρουσίασης) και στη συνέχεια το FFMpegCore (ffmpeg) για τη δημιουργία ενός βίντεο με βάση τα καρέ.

Πώς να μετατρέψετε το PPT σε βίντεο

  1. Εγκαταστήστε το Aspose.Slides για Java ακολουθώντας τις οδηγίες εδώ . Κατεβάστε το ffmpeg εδώ.

  2. Προσθέστε αυτό στο αρχείο POM:

       <εξάρτηση>
         <groupId>net.bramp.ffmpeg</groupId>
         <artifactId>ffmpeg</artifactId>
         <version>0.7.0</version>
       </dependency>
    

  3. Αντιγράψτε, επικολλήστε και, στη συνέχεια, εκτελέστε τον κώδικα Java PowerPoint στον κώδικα βίντεο.

Μετατροπή PowerPoint σε βίντεο σε Java

Χρησιμοποιήστε αυτόν τον κώδικα Java για να μετατρέψετε το PPT σε βίντεο:

Κώδικας Java για τη μετατροπή του PowerPoint σε βίντεο


Presentation presentation = new Presentation();
try {
    // Adds a smile shape and then animates it
    IAutoShape smile = presentation.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500);
    ISequence mainSequence = presentation.getSlides().get_Item(0).getTimeline().getMainSequence();
    IEffect effectIn = mainSequence.addEffect(smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious);
    IEffect effectOut = mainSequence.addEffect(smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious);
    effectIn.getTiming().setDuration(2f);
    effectOut.setPresetClassType(EffectPresetClassType.Exit);

    final int fps = 33;
    ArrayList<String> frames = new ArrayList<String>();

    PresentationAnimationsGenerator animationsGenerator = new PresentationAnimationsGenerator(presentation);
    try
    {
        PresentationPlayer player = new PresentationPlayer(animationsGenerator, fps);
        try {
            player.setFrameTick((sender, arguments) ->
            {
                try {
                    String frame = String.format("frame_%04d.png", sender.getFrameIndex());
                    ImageIO.write(arguments.getFrame(), "PNG", new java.io.File(frame));
                    frames.add(frame);
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            });
            animationsGenerator.run(presentation.getSlides());
        } finally {
            if (player != null) player.dispose();
        }
    } finally {
        if (animationsGenerator != null) animationsGenerator.dispose();
    }

    // Configure ffmpeg binaries folder. See this page: https://github.com/rosenbjerg/FFMpegCore#installation
    FFmpeg ffmpeg = new FFmpeg("path/to/ffmpeg");
    FFprobe ffprobe = new FFprobe("path/to/ffprobe");

    FFmpegBuilder builder = new FFmpegBuilder()
            .addExtraArgs("-start_number", "1")
            .setInput("frame_%04d.png")
            .addOutput("output.avi")
            .setVideoFrameRate(FFmpeg.FPS_24)
            .setFormat("avi")
            .done();

    FFmpegExecutor executor = new FFmpegExecutor(ffmpeg, ffprobe);
    executor.createJob(builder).run();
} catch (IOException e) {
    e.printStackTrace();
}

Άλλες υποστηριζόμενες μετατροπές

Μπορείτε επίσης να μετατρέψετε το PowerPoint σε αρχεία σε άλλες μορφές