Erstellen Sie ein Video in PowerPoint

Ein aus einer PowerPoint-Präsentation abgeleitetes Video eignet sich sehr effektiv zur Präsentation einer Datenvisualisierung und zur Vermarktung eines Produkts. Es ist auch sehr gut darin, verschiedene Arten von Botschaften an ein breites Publikum zu übermitteln. Angesichts der Vorteile, die eine echte Videowiedergabe gegenüber einer Standardpräsentation mit sich bringt, ist es in vielen Szenarien sinnvoll, PPT in Video zu konvertieren.

Konvertieren Sie PPT in Video in C#

In diesem Artikel möchten wir Sie durch einen Vorgang zur Durchführung von PPT in MP4 führen /mp4/)-Konvertierungsaufgabe programmgesteuert. Nachfolgend erfahren Sie, wie Sie PPT in C# in ein Video konvertieren.

C# APIs zum Konvertieren von PPT in Video

Konvertieren Sie PPT in Video

Ein Video besteht aus Einzelbildern. Für die Konvertierung von PowerPoint in Video müssen Sie also zwei Dinge tun:

  • Erstellen Sie eine Reihe von Rahmen basierend auf den Präsentationsfolien. Aspose.Slides for .NET ist hier praktisch. Informationen zur Installation von Aspose.Slides for .NET finden Sie unter Installation.

  • Erstellen Sie ein Video basierend auf den generierten Frames. Hier kommt ffmpeg (und der ffmpeg-Kern für .NET) ins Spiel – laden Sie ffmpeg [hier] herunter (https://ffmpeg.org/download.html).

Info: Aspose bietet einen kostenlosen PowerPoint zu Video-Konverter, mit dem PowerPoint-Präsentationen in Videos umgewandelt werden können. Möglicherweise möchten Sie diesen Konverter sehen, da es sich hier um eine Live-Implementierung des Prozesses handelt.

Konvertieren Sie PPT in Video in C#

  1. Fügen Sie Aspose.Slides for .NET und FFMpegCore über den Befehl „dotnet add package command“ zu Ihrem Projekt hinzu:

    • Um Aspose.Slides for .NET hinzuzufügen, führen Sie „dotnet add package Aspose.Slides.NET –version 22.11.0“ aus
    • Um FFMpegCore hinzuzufügen, führen Sie „dotnet add package FFMpegCore –version 4.8.0“ aus
  2. Geben Sie den Pfad zu der ffmpeg-Datei, die Sie zuvor erhalten haben (z. B. haben Sie sie nach „C:\tools\ffmpeg“ extrahiert) folgendermaßen an: „GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @“c:\tools\ffmpeg\bin” ,} );`

  3. Führen Sie den Code zum Konvertieren von PowerPoint in Video aus:

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

{
    // Fügt eine Lächelnform hinzu und animiert sie dann
    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);
    }

    // Konfigurieren Sie den ffmpeg-Binärordner. Siehe diese Seite: https://github.com/rosenbjerg/FFMpegCore#installation
    GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin", });
    // Konvertiert Frames in WebM-Videos
    FFMpeg.JoinImageSequence("smile.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray());

}

Anwenden von Effekten und Animationen in Videos

Präsentationen mit Übergängen und Animationen sind im Allgemeinen ansprechender und interessanter als Präsentationen ohne diese Effekte. Das gleiche Prinzip gilt für Videos – ein Video, das einfach schnell hintereinander gleitet, reicht manchmal nicht aus.

Aspose.Slides unterstützt gängige Übergänge und Animationen, sodass Sie diese Effekte in Ihrem Video anwenden und verwenden können. Angenommen, wir fahren mit dem Code aus dem vorherigen Abschnitt fort, können wir auf diese Weise eine weitere Folie und einen Übergang erstellen:

// Fügt eine Lächelnform hinzu und animiert sie

// ...

// Fügt eine neue Folie und einen animierten Übergang hinzu

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;

Neben Animationen für Folien können Sie mit Aspose.Slides auch Animationen für Texte hinzufügen. Auf diese Weise können Sie Absätze von Objekten so animieren, dass sie nacheinander erscheinen (wobei die Verzögerung beispielsweise auf eine Sekunde eingestellt ist):

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

using (Presentation presentation = new Presentation())
{
    // Fügt Text und Animationen hinzu
    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;

    // Konvertiert Frames in Video
    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);
    }
    // Konfigurieren Sie den ffmpeg-Binärordner. Siehe diese Seite: https://github.com/rosenbjerg/FFMpegCore#installation

    GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin", });
    // Konvertiert Frames in WebM-Videos
    FFMpeg.JoinImageSequence("text_animation.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray());

}

Holen Sie sich eine kostenlose Lizenz

Möchten Sie die Funktionen von Aspose.Slides ohne Einschränkungen ausprobieren? Holen Sie sich eine kostenlose temporäre Lizenz.

Abschluss

An diesem Punkt glauben wir, dass Sie nun wissen, wie Sie PowerPoint PPT in einfache Videos oder kompliziertere Videos mit Animationen, Übergängen und anderen Effekten konvertieren.

Weitere Informationen zu den von Aspose.Slides Funktionen finden Sie in unserer Dokumentation. Wenn Sie Fragen haben, können Sie diese in unserem Forum posten.

Siehe auch