צור וידאו ב- PowerPoint

סרטון שמקורו במצגת PowerPoint יעיל למדי בהצגת הדמיית נתונים ושיווק מוצר. הוא גם די מיומן בהעברת סוגים שונים של מסרים לקטגוריית קהל רחב. בהתחשב ביתרונות הקשורים להפעלת וידאו אמיתית על פני מצגת רגילה, הגיוני להמיר PPT לווידאו בתרחישים רבים.

המרת PPT לווידאו ב-C#

במאמר זה, אנו מתכוונים להדריך אותך דרך פעולה לביצוע ה-PPT ל-MP4 משימת ההמרה באופן תוכנתי. ראה כיצד להמיר PPT לווידאו ב-C# להלן.

ממשקי API של C# להמרת PPT לווידאו

המרת PPT לווידאו

סרטון וידאו מורכב מפריימים, כך שתהליך ההמרה של PowerPoint לווידאו מחייב אותך לעשות שני דברים:

  • צור סט של פריימים על סמך שקופיות המצגת. Aspose.Slides עבור .NET שימושי כאן. להתקנת Aspose.Slides עבור .NET, ראה התקנה.

  • ליצור סרטון על סמך הפריימים שנוצרו. כאן נכנסת לתמונה ffmpeg (וליבת ffmpeg עבור .NET) - הורד את ffmpeg כאן.

מידע: Aspose מספקת ממיר PowerPoint לווידאו בחינם המאפשר להפוך מצגות PowerPoint לווידאו. אולי תרצה לראות את הממיר הזה מכיוון שהוא יישום חי של התהליך כאן.

המרת PPT לווידאו ב-C#

  1. הוסף את Aspose.Slides עבור .NET ו-FFMpegCore לפרויקט שלך באמצעות ‘פקודה הוסף חבילה של dotnet’:

    • כדי להוסיף Aspose.Slides עבור .NET, הפעל את dotnet add package Aspose.Slides.NET --גרסה 22.11.0
    • כדי להוסיף FFMpegCore, הפעל את dotnet add package FFMpegCore --גרסה 4.8.0
  2. ציין את הנתיב ל-ffmpeg שקיבלת קודם לכן (לדוגמה, חילצת אותו ל-“C:\tools\ffmpeg”) כך: GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin" ,} );

  3. הפעל את הקוד להמרת PowerPoint לווידאו:

using System.Collections.Generic;
using Aspose.Slides;
using FFMpegCore; // Will use FFmpeg binaries we extracted to "c:\tools\ffmpeg" before
using Aspose.Slides.Animation;
using (Presentation presentation = new Presentation())

{
    // מוסיף צורת חיוך ולאחר מכן מחייה אותו
    IAutoShape smile = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500);
    IEffect effectIn = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious);
    IEffect effectOut = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious);
    effectIn.Timing.Duration = 2f;
    effectOut.PresetClassType = EffectPresetClassType.Exit;

   const int Fps = 33;
   List<string> frames = new List<string>();

   using (var animationsGenerator = new PresentationAnimationsGenerator(presentation))
    using (var player = new PresentationPlayer(animationsGenerator, Fps))
    {
        player.FrameTick += (sender, args) =>
        {
            string frame = $"frame_{(sender.FrameIndex):D4}.png";
            args.GetFrame().Save(frame);
            frames.Add(frame);
        };
        animationsGenerator.Run(presentation.Slides);
    }

    // הגדר את התיקיה הבינאריים של ffmpeg. ראה דף זה: https://github.com/rosenbjerg/FFMpegCore#installation
    GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin", });
    // ממיר מסגרות לווידאו webm
    FFMpeg.JoinImageSequence("smile.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray());

}

החל אפקטים ואנימציות בווידאו

מצגות המכילות מעברים ואנימציות בדרך כלל מרתקות ומעניינות יותר מאלה ללא אפקטים אלו. אותו עיקרון חל על סרטונים - סרטון שפשוט מחליק ברצף מהיר פשוט לא יחתוך אותו לפעמים.

Aspose.Slides תומך במעברים והנפשות נפוצים, כך שתוכל להחיל ולהשתמש באפקטים האלה בסרטון שלך. בהנחה שנמשיך עם הקוד מהסעיף הקודם, נוכל עוד שקופית ומעבר כך:

// מוסיף צורת חיוך ומפעיל אותו

// ...

// מוסיף שקופית חדשה ומעבר מונפש

ISlide newSlide = presentation.Slides.AddEmptySlide(presentation.Slides[0].LayoutSlide);

newSlide.Background.Type = BackgroundType.OwnBackground;

newSlide.Background.FillFormat.FillType = FillType.Solid;

newSlide.Background.FillFormat.SolidFillColor.Color = Color.Indigo;

newSlide.SlideShowTransition.Type = TransitionType.Push;

מלבד אנימציות לשקופיות, Aspose.Slides מאפשר לך להוסיף אנימציות לטקסטים. בדרך זו, אתה יכול להנפיש פסקאות על אובייקטים כדי לגרום להם להופיע בזה אחר זה (עם ההשהיה מוגדרת לשנייה אחת, למשל):

using System.Collections.Generic;
using Aspose.Slides.Export;
using Aspose.Slides;
using FFMpegCore;
using Aspose.Slides.Animation;

using (Presentation presentation = new Presentation())
{
    // מוסיף טקסט ואנימציות
    IAutoShape autoShape = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 210, 120, 300, 300);
    Paragraph para1 = new Paragraph();
    para1.Portions.Add(new Portion("Aspose Slides for .NET"));
    Paragraph para2 = new Paragraph();
    para2.Portions.Add(new Portion("convert PowerPoint Presentation with text to video"));

    Paragraph para3 = new Paragraph();
    para3.Portions.Add(new Portion("paragraph by paragraph"));
    autoShape.TextFrame.Paragraphs.Add(para1);
    autoShape.TextFrame.Paragraphs.Add(para2);
    autoShape.TextFrame.Paragraphs.Add(para3);
    autoShape.TextFrame.Paragraphs.Add(new Paragraph());

    IEffect effect = presentation.Slides[0].Timeline.MainSequence.AddEffect(para1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);

    IEffect effect2 = presentation.Slides[0].Timeline.MainSequence.AddEffect(para2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);

    IEffect effect3 = presentation.Slides[0].Timeline.MainSequence.AddEffect(para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);

    IEffect effect4 = presentation.Slides[0].Timeline.MainSequence.AddEffect(para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);

    effect.Timing.TriggerDelayTime = 1f;
    effect2.Timing.TriggerDelayTime = 1f;
    effect3.Timing.TriggerDelayTime = 1f;
    effect4.Timing.TriggerDelayTime = 1f;

    // ממיר מסגרות לווידאו
    const int Fps = 33;
    List<string> frames = new List<string>();
    
    using (var animationsGenerator = new PresentationAnimationsGenerator(presentation))

    using (var player = new PresentationPlayer(animationsGenerator, Fps))

    {
        player.FrameTick += (sender, args) =>
        {
            string frame = $"frame_{(sender.FrameIndex):D4}.png";
            args.GetFrame().Save(frame);
            frames.Add(frame);
        };
        animationsGenerator.Run(presentation.Slides);
    }
    // הגדר את התיקיה הבינאריים של ffmpeg. ראה דף זה: https://github.com/rosenbjerg/FFMpegCore#installation

    GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin", });
    // ממיר מסגרות לווידאו webm
    FFMpeg.JoinImageSequence("text_animation.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray());

}

קבל רישיון חינם

רוצה לנסות את תכונות Aspose.Slides ללא הגבלה? קבל רישיון זמני בחינם.

סיכום

בשלב זה, אנו מאמינים שאתה יודע כעת כיצד להמיר PowerPoint PPT לסרטונים פשוטים או לסרטונים מסובכים יותר עם אנימציות, מעברים ואפקטים אחרים.

למידע נוסף על Aspose.Slides features, עיין בתיעוד/). אם יש לך שאלות, תוכל לפרסם אותן ב[פורום] שלנו (https://forum.aspose.com/c/slides/).

ראה גם