قم بإنشاء فيديو في PowerPoint

يعد الفيديو المشتق من عرض تقديمي لـ PowerPoint فعالاً للغاية في عرض تصور البيانات وتسويق المنتج. كما أنها بارعة جدًا في توصيل أنواع مختلفة من الرسائل إلى فئة جمهور واسعة. نظرًا للفوائد المرتبطة بتشغيل الفيديو الحقيقي على عرض تقديمي قياسي ، فمن المنطقي تحويل PPT إلى فيديو في العديد من السيناريوهات.

تحويل PPT إلى فيديو في C#

في هذه المقالة ، نعتزم إرشادك خلال عملية تنفيذ PPT إلى MP4 مهمة التحويل برمجيا. تعرف على كيفية تحويل PPT إلى فيديو في C# أدناه.

C# APIs لتحويل PPT إلى فيديو

تحويل PPT إلى فيديو

يتكون الفيديو من إطارات ، لذلك تتطلب منك عملية تحويل PowerPoint إلى فيديو القيام بأمرين:

  • قم بإنشاء مجموعة من الإطارات بناءً على شرائح العرض التقديمي. Aspose.Slides for .NET تأتي في متناول يدي هنا. لتثبيت Aspose.Slides for .NET ، راجع التثبيت.

  • إنشاء فيديو على أساس الإطارات التي تم إنشاؤها. هذا هو المكان الذي يأتي فيه ffmpeg (و ffmpeg core for .NET) - قم بتنزيل ffmpeg هنا.

معلومات: يوفر Aspose مجاني محول PowerPoint إلى فيديو يسمح بتحويل عروض PowerPoint التقديمية إلى فيديو. قد ترغب في رؤية هذا المحول لأنه تطبيق مباشر للعملية هنا.

تحويل PPT إلى فيديو في C#

  1. أضف Aspose.Slides for .NET و FFMpegCore إلى مشروعك من خلال “dotnet add package command”:

    • لإضافة Aspose.Slides for .NET ، قم بتشغيل dotnet add package Aspose.Slides.NET - version 22.11.0
    • لإضافة FFMpegCore ، قم بتشغيل dotnet add package FFMpegCore --version 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 ، راجع التوثيق.إذا كانت لديك أسئلة ، فيمكنك نشرها على المنتدى.

أنظر أيضا