تبدیل PPT به ویدیو

هنگامی که پاورپوینت را به ویدیو تبدیل می کنید، دسترسی بیشتر و مخاطبان بیشتری برای ارائه یا محتوای خود خواهید داشت. فرمت ویدیویی MP4 یک فرمت فایل فوق‌العاده محبوب است، بنابراین افراد بیشتری در مقایسه با [PPT]، باز کردن یا پخش ویدیوی شما را آسان‌تر می‌کنند (https فایل ://docs.fileformat.com/presentation/ppt/). علاوه بر این، بیشتر مردم بیشتر از سایر اشکال محتوا، ویدیو را تماشا و مصرف می‌کنند، بنابراین احتمالاً ویدیوی شما در مقایسه با ارائه، مخاطبان بیشتری خواهد داشت.

پاورپوینت به ویدئو در جاوا

در پایان خواندن این مقاله، نحوه تبدیل پاورپوینت به ویدئو در جاوا را یاد خواهید گرفت.

APIهای جاوا برای تبدیل PPT به ویدیو

ایجاد ویدیو در پاورپوینت

برای تبدیل یک ارائه پاورپوینت به ویدیو به صورت برنامه ای، به موارد زیر نیاز دارید:

  • یک API برای تولید مجموعه ای از فریم ها از اسلایدهای ارائه. ما Aspose.Slides for Java را توصیه می کنیم. Aspose.Slides for Java for یک API محبوب برای ایجاد، ویرایش، تبدیل و دستکاری ارائه های پاورپوینت (بدون Microsoft PowerPoint یا Office) است. برای نصب Aspose.Slides برای جاوا، به نصب مراجعه کنید.
  • و یک API دیگر برای ایجاد یک ویدیو بر اساس فریم های تولید شده. ما ffmpeg (برای جاوا) را توصیه می کنیم.

اطلاعات: Aspose یک مبدل پاورپوینت به ویدیو رایگان ایجاد کرد که به شما امکان می‌دهد ویدیوهای خیره‌کننده از ارائه‌ها ایجاد کنید. این مبدل در اصل یک پیاده سازی زنده از فرآیند تبدیل پاورپوینت به ویدیو است.

تبدیل PPT به ویدیو در جاوا

  1. این را به فایل POM خود اضافه کنید:
   <dependency>
     <groupId>net.bramp.ffmpeg</groupId>
     <artifactId>ffmpeg</artifactId>
     <version>0.7.0</version>
   </dependency>
  1. ffmpeg را از اینجا دانلود کنید.

  2. پاورپوینت به کد جاوا ویدیو را اجرا کنید.

این کد جاوا به شما نشان می دهد که چگونه PPT را به ویدیو تبدیل کنید:

Presentation presentation = new Presentation();
try {
    // شکل لبخند اضافه می کند و سپس آن را متحرک می کند
    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();
    }

    // پوشه باینری ffmpeg را پیکربندی کنید. این صفحه را ببینید: 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();
}

اعمال جلوه‌ها و انیمیشن‌ها در ویدیو

پاورپوینت به شما این امکان را می دهد که انیمیشن ها را روی محتوای ارائه های خود اعمال کنید و همچنین از انتقال بین اسلایدها استفاده کنید. این افکت‌ها یک ارائه (مخصوصاً در قالب یک نمایش اسلاید) را جذاب‌تر و جالب‌تر می‌کنند. هنگامی که یک ارائه پاورپوینت را به ویدیو تبدیل می کنید، استفاده از جلوه های مشابه در ویدیوی حاصل منطقی است و Aspose.Slides به شما امکان می دهد دقیقاً این کار را انجام دهید.

برای نشان دادن استفاده از افکت‌ها و انیمیشن‌ها در یک ویدیو، اجازه دهید یک اسلاید دیگر و انتقال به کد ارائه در بخش قبل به این صورت اضافه کنیم:

// شکل لبخند اضافه می کند و آن را متحرک می کند

// ...

// یک اسلاید جدید و انتقال متحرک اضافه می کند

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

سپس پاراگراف‌ها را روی اشیاء متحرک می‌کنیم تا آن اشیا یکی پس از دیگری ظاهر شوند (با تأخیر بین ظاهر شدن یک ثانیه):

Presentation presentation = new Presentation();
try {
    // متن و انیمیشن را اضافه می کند
    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();
    }

    // پوشه باینری ffmpeg را پیکربندی کنید. این صفحه را ببینید: 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();
}

مجوز رایگان دریافت کنید

اگر می‌خواهید ویژگی‌های Aspose.Slides را بدون محدودیت امتحان کنید، توصیه می‌کنیم مجوز موقت رایگان را دریافت کنید.

نتیجه

ما معتقدیم که شما اکنون می دانید که چگونه PPT را به ویدیو تبدیل کنید و همچنین انیمیشن ها، انتقال ها و جلوه های دیگر را در کار خود اعمال کنید.

برای کسب اطلاعات بیشتر درباره [ویژگی‌های] Aspose.Slides (https://docs.aspose.com/slides/java/features-overview/)، به [اسناد] ما مراجعه کنید (https://docs.aspose.com/slides/java/). اگر سؤالی دارید، می‌توانید آنها را در [فروم] ما (https://forum.aspose.com/c/slides/) پست کنید.

همچنین ببینید