Преобразование PPT в видео на C#
Мощный кроссплатформенный .NET API для преобразования PowerPoint в видео с использованием кода C# на платформах NET Framework, .NET Core, Windows Azure, Mono или Xamarin.
Конвертируйте PowerPoint в видео с помощью Aspose.Slides
Aspose.Slides for .NET — мощная библиотека .NET, используемая для создания, редактирования и управления презентациями, а также преобразования презентаций PowerPoint в другие документы. и видео. В этом случае, чтобы преобразовать PowerPoint в видео, вам нужно использовать Aspose.Slides вместе с ffmpeg и FFMpegCore (бесплатная оболочка NET ffmpeg).
Вот как работает процесс преобразования PPT в видео: Aspose.Slides используется для создания набора кадров (из слайдов презентации), а затем FFMpegCore (ffmpeg) используется для создания видео на основе кадров.
Как конвертировать PPT в видео
Установите Aspose.Slides для .NET и FFMpegcore: запустите
dotnet add package Aspose.Slides.NET --version 22.12.0
, а затем запуститеdotnet add package FFMpegCore --version 4.8.0
Загрузите ffmpeg здесь
FFMpegCore требует, чтобы вы указали путь к загруженному ffmpeg (например, извлеченному в «C:\tools\ffmpeg»):
GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin",} );
Скопируйте, вставьте, а затем запустите код PowerPoint для видео.
Преобразование PowerPoint в видео на C#
Используйте этот код для преобразования PPT в видео:
Код C# для преобразования 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())
{
// 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());
}
Другие поддерживаемые преобразования
Вы также можете конвертировать PowerPoint в файлы других форматов.