Konversikan PPT ke video

Saat Anda mengonversi PowerPoint ke video, Anda mendapatkan peningkatan aksesibilitas dan audiens yang lebih besar untuk presentasi atau konten Anda. Format video MP4 adalah format file yang sangat populer, sehingga akan lebih mudah bagi banyak orang untuk membuka atau memutar video Anda dibandingkan dengan PPT file. Selain itu, kebanyakan orang menonton dan mengonsumsi video lebih banyak daripada bentuk konten lainnya, sehingga video Anda cenderung mendapatkan audiens yang lebih besar dibandingkan dengan presentasi.

PowerPoint ke Video di Java

Pada saat Anda selesai membaca artikel ini, Anda akan belajar cara mengonversi PowerPoint ke video di Java.

Java API untuk Mengonversi PPT ke Video

Buat video di PowerPoint

Untuk mengonversi presentasi PowerPoint menjadi video secara terprogram, Anda memerlukan:

  • API untuk menghasilkan sekumpulan bingkai dari slide presentasi. Kami merekomendasikan Aspose.Slides for Java. Aspose.Slides for Java for adalah API populer untuk membuat, mengedit, mengonversi, dan memanipulasi presentasi PowerPoint (tanpa Microsoft PowerPoint atau Office). Untuk menginstal Aspose.Slides for Java, lihat Instalasi.
  • Dan API lain untuk membuat video berdasarkan bingkai yang dihasilkan. Kami merekomendasikan ffmpeg (untuk Java).

Info: Aspose mengembangkan PowerPoint to video converter gratis yang memungkinkan Anda membuat video menakjubkan dari presentasi. Konverter ini pada dasarnya adalah implementasi langsung dari proses konversi PowerPoint ke video.

Konversikan PPT ke Video di Java

  1. Tambahkan ini ke file POM Anda:
   <dependency>
     <groupId>net.bramp.ffmpeg</groupId>
     <artifactId>ffmpeg</artifactId>
     <version>0.7.0</version>
   </dependency>
  1. Unduh ffmpeg di sini.

  2. Jalankan kode Java PowerPoint ke video.

Kode Java ini menunjukkan cara mengonversi PPT ke video:

Presentation presentation = new Presentation();
try {
    // Menambahkan bentuk senyuman lalu menganimasikannya
    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();
    }

    // Konfigurasikan folder binari ffmpeg. Lihat halaman ini: 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();
}

Terapkan Efek dan Animasi dalam Video

PowerPoint memungkinkan Anda untuk menerapkan animasi ke konten presentasi Anda dan juga menggunakan transisi antar slide. Efek tersebut membuat presentasi (terutama dalam bentuk tayangan slide) lebih menarik dan menarik. Saat Anda mengonversi presentasi PowerPoint menjadi video, masuk akal untuk menggunakan efek serupa dalam video yang dihasilkan dan Aspose.Slides memungkinkan Anda melakukan hal itu dengan tepat.

Untuk mendemonstrasikan penggunaan efek dan animasi dalam video, mari tambahkan slide lain dan transisi ke kode untuk presentasi di bagian sebelumnya dengan cara ini:

// Menambahkan bentuk senyuman dan menganimasikannya

// ...

// Menambahkan slide baru dan transisi animasi

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

Lalu kita menganimasikan paragraf pada objek untuk membuat objek tersebut muncul satu demi satu (dengan penundaan antar tampilan diatur ke satu detik):

Presentation presentation = new Presentation();
try {
    // Menambahkan teks dan animasi
    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();
    }

    // Konfigurasikan folder binari ffmpeg. Lihat halaman ini: 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();
}

Dapatkan Lisensi Gratis

Jika Anda ingin mencoba fitur Aspose.Slides tanpa batasan, sebaiknya dapatkan lisensi sementara gratis.

Kesimpulan

Kami yakin Anda sekarang tahu cara mengonversi PPT ke video dan juga menerapkan animasi, transisi, dan efek lainnya dalam pekerjaan Anda.

Untuk mempelajari Aspose.Slides lebih lanjut fitur, lihat dokumentasi kami/). Jika ada pertanyaan, Anda dapat mempostingnya di forum kami.

Lihat juga