Konversikan PPT ke video dalam C#

.NET API lintas platform yang kuat untuk mengonversi PowerPoint ke video menggunakan kode C# pada Platform NET Framework, .NET Core, Windows Azure, Mono atau Xamarin

Konversikan PowerPoint ke video menggunakan Aspose.Slides

Aspose.Slides for .NET adalah pustaka .NET andal yang digunakan untuk membuat, mengedit, dan memanipulasi presentasi serta mengonversi presentasi PowerPoint ke dokumen lain dan video. Dalam hal ini, untuk mengonversi PowerPoint ke video, Anda perlu menggunakan Aspose.Slides bersama ffmpeg dan FFMpegCore (pembungkus NET ffmpeg gratis).

Beginilah cara kerja proses konversi PPT ke video: Aspose.Slides digunakan untuk menghasilkan serangkaian bingkai (dari slide presentasi) dan kemudian FFMpegCore (ffmpeg) digunakan untuk membuat video berdasarkan bingkai tersebut.

Bagaimana mengkonversi PPT ke video

  1. Instal Aspose.Slides untuk .NET dan FFMpegcore: Jalankan dotnet add package Aspose.Slides.NET --version 22.12.0 lalu jalankan dotnet add package FFMpegCore --version 4.8.0

  2. Unduh ffmpeg di sini.

  3. FFMpegCore mengharuskan Anda menentukan jalur ke ffmpeg yang diunduh (mis. diekstrak ke “C:\tools\ffmpeg”): GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin",} );

  4. Salin, tempel, lalu jalankan PowerPoint ke kode video.

Ubah PowerPoint menjadi video dalam C#

Gunakan kode ini untuk mengonversi PPT ke video:

Kode C# untuk mengonversi PowerPoint ke video


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

{
    // Adds a smile shape and then animates it
    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);
    }

    // Configure ffmpeg binaries folder. See this page: https://github.com/rosenbjerg/FFMpegCore#installation
    GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin", });
    // Converts frames to webm video
    FFMpeg.JoinImageSequence("smile.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray());

}

Konversi lain yang Didukung

Anda juga dapat mengonversi PowerPoint ke file dalam format lain