Konvertieren Sie PPT in Video

Wenn Sie PowerPoint in Video konvertieren, erhalten Sie eine bessere Zugänglichkeit und ein größeres Publikum für Ihre Präsentation oder Ihren Inhalt. Das Videoformat MP4 ist ein unglaublich beliebtes Dateiformat, sodass es für mehr Menschen einfacher ist, Ihr Video zu öffnen oder abzuspielen als ein PPT-Datei. Darüber hinaus sehen und konsumieren die meisten Menschen Videos mehr als andere Inhaltsformen, sodass Ihr Video im Vergleich zu einer Präsentation wahrscheinlich ein größeres Publikum erreichen wird.

PowerPoint zu Video in Java

Wenn Sie diesen Artikel gelesen haben, wissen Sie, wie Sie PowerPoint in Java in Videos konvertieren.

Java-APIs zum Konvertieren von PPT in Video

Erstellen Sie ein Video in PowerPoint

Um eine PowerPoint-Präsentation programmgesteuert in ein Video umzuwandeln, benötigen Sie:

  • Eine API zum Generieren einer Reihe von Frames aus den Präsentationsfolien. Wir empfehlen Aspose.Slides for Java. Aspose.Slides for Java ist eine beliebte API zum Erstellen, Bearbeiten, Konvertieren und Manipulieren von PowerPoint-Präsentationen (ohne Microsoft PowerPoint oder Office). Informationen zur Installation von Aspose.Slides for Java finden Sie unter Installation.
  • Und eine weitere API zum Erstellen eines Videos basierend auf den generierten Frames. Wir empfehlen ffmpeg (für Java).

Info: Aspose hat einen kostenlosen PowerPoint zu Video-Konverter entwickelt, mit dem Sie beeindruckende Videos aus Präsentationen erstellen können. Dieser Konverter ist im Wesentlichen eine Live-Implementierung des PowerPoint zu Video-Konvertierungsprozesses.

Konvertieren Sie PPT in Video in Java

  1. Fügen Sie dies Ihrer POM-Datei hinzu:
   <dependency>
     <groupId>net.bramp.ffmpeg</groupId>
     <artifactId>ffmpeg</artifactId>
     <version>0.7.0</version>
   </dependency>
  1. Laden Sie ffmpeg [hier] herunter (https://ffmpeg.org/download.html).

  2. Führen Sie den PowerPoint zu Video-Java-Code aus.

Dieser Java-Code zeigt Ihnen, wie Sie PPT in Video konvertieren:

Presentation presentation = new Presentation();
try {
    // Fügt eine Lächelnform hinzu und animiert sie dann
    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();
    }

    // Konfigurieren Sie den ffmpeg-Binärordner. Siehe diese Seite: 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();
}

Anwenden von Effekten und Animationen in Videos

Mit PowerPoint können Sie Animationen auf den Inhalt Ihrer Präsentationen anwenden und auch Übergänge zwischen Folien verwenden. Diese Effekte machen eine Präsentation (insbesondere in Form einer Diashow) ansprechender und interessanter. Wenn Sie eine PowerPoint-Präsentation in ein Video konvertieren, ist es sinnvoll, ähnliche Effekte im resultierenden Video zu verwenden, und Aspose.Slides ermöglicht Ihnen genau das.

Um die Verwendung von Effekten und Animationen in einem Video zu demonstrieren, fügen wir auf diese Weise eine weitere Folie und einen Übergang zum Code für die Präsentation im vorherigen Abschnitt hinzu:

// Fügt eine Lächelnform hinzu und animiert sie

// ...

// Fügt eine neue Folie und einen animierten Übergang hinzu

ISlide newSlide = presentation.getSlides().addEmptySlide(presentation.getSlides().get_Item(0).getLayoutSlide());

newSlide.getBackground().setType(BackgroundType.OwnBackground);

newSlide.getBackground().getFillFormat().setFillType(FillType.Solid);

newSlide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.MAGENTA);

newSlide.getSlideShowTransition().setType(TransitionType.Push);

Dann animieren wir Absätze zu Objekten, damit diese Objekte nacheinander erscheinen (wobei die Verzögerung zwischen dem Erscheinen auf eine Sekunde eingestellt ist):

Presentation presentation = new Presentation();
try {
    // Fügt Text und Animationen hinzu
    IAutoShape autoShape = presentation.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Rectangle, 210, 120, 300, 300);
    Paragraph para1 = new Paragraph();
    para1.getPortions().add(new Portion("Aspose Slides for Java"));
    Paragraph para2 = new Paragraph();
    para2.getPortions().add(new Portion("convert PowerPoint Presentation with text to video"));

    Paragraph para3 = new Paragraph();
    para3.getPortions().add(new Portion("paragraph by paragraph"));
    IParagraphCollection paragraphCollection = autoShape.getTextFrame().getParagraphs();
    paragraphCollection.add(para1);
    paragraphCollection.add(para2);
    paragraphCollection.add(para3);
    paragraphCollection.add(new Paragraph());

    ISequence mainSequence = presentation.getSlides().get_Item(0).getTimeline().getMainSequence();
    IEffect effect1 = mainSequence.addEffect(para1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
    IEffect effect2 = mainSequence.addEffect(para2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
    IEffect effect3 = mainSequence.addEffect(para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
    IEffect effect4 = mainSequence.addEffect(para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);

    effect1.getTiming().setTriggerDelayTime(1f);
    effect2.getTiming().setTriggerDelayTime(1f);
    effect3.getTiming().setTriggerDelayTime(1f);
    effect4.getTiming().setTriggerDelayTime(1f);

    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();
    }

    // Konfigurieren Sie den ffmpeg-Binärordner. Siehe diese Seite: 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();
}

Holen Sie sich eine kostenlose Lizenz

Wenn Sie die Funktionen von Aspose.Slides ohne Einschränkungen ausprobieren möchten, empfehlen wir Ihnen den Erwerb einer kostenlosen temporären Lizenz.

Abschluss

Wir glauben, dass Sie jetzt wissen, wie Sie PPT in Video konvertieren und auch Animationen, Übergänge und andere Effekte in Ihrer Arbeit anwenden.

Weitere Informationen zu den [Funktionen] von Aspose.Slides (https://docs.aspose.com/slides/java/features-overview/) finden Sie in unserer Dokumentation./). Wenn Sie Fragen haben, können Sie diese in unserem Forum posten.

Siehe auch