PowerPoint-Präsentationen in Video mit Python konvertieren

Überblick

Durch die Konvertierung Ihrer PowerPoint‑ oder OpenDocument‑Präsentation in ein Video erhalten Sie:

Erhöhte Barrierefreiheit: Alle Geräte, unabhängig vom Plattformtyp, verfügen standardmäßig über Videoplayer, sodass es für Nutzer einfacher ist, Videos zu öffnen oder abzuspielen im Vergleich zu herkömmlichen Präsentationsanwendungen.

Größere Reichweite: Videos ermöglichen es Ihnen, ein größeres Publikum zu erreichen und Informationen in einem ansprechenderen Format zu präsentieren. Umfragen und Statistiken zeigen, dass Menschen lieber Video‑Inhalte ansehen und konsumieren als andere Formen, wodurch Ihre Botschaft wirkungsvoller wird.

In Aspose.Slides for Python 24.4 haben wir die Unterstützung für die Konvertierung von Präsentationen in Video implementiert.

  • Verwenden Sie Aspose.Slides für Python, um Frames aus den Präsentations‑Folien mit einer festgelegten Bildrate (FPS) zu erzeugen.
  • Anschließend können Sie ein Drittanbieter‑Tool wie ffmpeg verwenden, um diese Frames zu einem Video zusammenzufügen.

PowerPoint‑Präsentation in Video konvertieren

  1. Verwenden Sie den pip‑Install‑Befehl, um Aspose.Slides für Python zu Ihrem Projekt hinzuzufügen: pip install aspose-slides==24.4.0
  2. Laden Sie ffmpeg von hier herunter oder installieren Sie es über den Paket‑Manager.
  3. Stellen Sie sicher, dass ffmpeg im PATH liegt. Andernfalls starten Sie ffmpeg mit dem vollständigen Pfad zur Binärdatei (z. B. C:\ffmpeg\ffmpeg.exe unter Windows oder /opt/ffmpeg/ffmpeg unter Linux).
  4. Führen Sie den PowerPoint‑zu‑Video‑Konvertierungscode aus.

Dieser Python‑Code demonstriert, wie man eine Präsentation (die eine Form und zwei Animationseffekte enthält) in ein Video konvertiert:

import aspose.slides as slides
import subprocess

with slides.Presentation() as presentation:
    slide = presentation.slides[0]

    smile_shape = slide.shapes.add_auto_shape(slides.ShapeType.SMILEY_FACE, 110, 20, 500, 500)

    effect_in = slide.timeline.main_sequence.add_effect(
        smile_shape,
        slides.animation.EffectType.FLY,
        slides.animation.EffectSubtype.TOP_LEFT,
        slides.animation.EffectTriggerType.AFTER_PREVIOUS)

    effect_out = slide.timeline.main_sequence.add_effect(
        smile_shape,
        slides.animation.EffectType.FLY,
        slides.animation.EffectSubtype.BOTTOM_RIGHT,
        slides.animation.EffectTriggerType.AFTER_PREVIOUS)

    effect_in.timing.duration = 2
    effect_out.preset_class_type = slides.animation.EffectPresetClassType.EXIT

    fps = 33
    with slides.export.PresentationEnumerableFramesGenerator(presentation, fps) as frames_stream:
        for frame_args in frames_stream.enumerate_frames(presentation.slides):
            frame = "frame_{:04d}.png".format(frame_args.frames_generator.frame_index)
            frame_args.get_frame().save(frame)

    cmd_line = ["ffmpeg", "-r", str(fps), "-i", "frame_%04d.png", "-y", "-s", "720x540", "-pix_fmt", "yuv420p",
                "smile.webm"]
    subprocess.call(cmd_line)

Video‑Effekte

Beim Konvertieren einer PowerPoint‑Präsentation zu Video mit Aspose.Slides für Python können Sie verschiedene Video‑Effekte anwenden, um die visuelle Qualität der Ausgabe zu verbessern. Diese Effekte ermöglichen Ihnen, das Erscheinungsbild der Folien im finalen Video zu steuern, indem Sie sanfte Übergänge, Animationen und weitere visuelle Elemente hinzufügen. Dieser Abschnitt erklärt die verfügbaren Video‑Effekt‑Optionen und zeigt, wie Sie sie anwenden.

Animationen und Übergänge machen Diashows ansprechender und interessanter — und das Gleiche gilt für Videos. Fügen wir der vorherigen Präsentation einen weiteren Folie und Übergang zum Code hinzu:

import aspose.pydrawing as drawing

# Smiley-Form hinzufügen und animieren.
# ...

# Neue Folie hinzufügen und einen animierten Übergang.
new_slide = presentation.slides.add_empty_slide(presentation.slides[0].layout_slide)
new_slide.background.type = slides.BackgroundType.OWN_BACKGROUND
new_slide.background.fill_format.fill_type = slides.FillType.SOLID
new_slide.background.fill_format.solid_fill_color.color = drawing.Color.indigo
new_slide.slide_show_transition.type = slides.TransitionType.PUSH

Aspose.Slides für Python unterstützt außerdem Textanimationen. In diesem Beispiel animieren wir Absätze auf Objekten, sodass sie nacheinander erscheinen, mit einer Verzögerung von einer Sekunde zwischen ihnen:

import aspose.slides as slides
import subprocess

with slides.Presentation() as presentation:
    slide = presentation.slides[0]

    # Text und Animationen hinzufügen.
    auto_shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 210, 120, 300, 300)
    para1 = slides.Paragraph()
    para1.portions.add(slides.Portion("Aspose.Slides for Python"))
    para2 = slides.Paragraph()
    para2.portions.add(slides.Portion("Convert a PowerPoint presentation with text to video"))

    para3 = slides.Paragraph()
    para3.portions.add(slides.Portion("paragraph by paragraph"))
    auto_shape.text_frame.paragraphs.add(para1)
    auto_shape.text_frame.paragraphs.add(para2)
    auto_shape.text_frame.paragraphs.add(para3)
    auto_shape.text_frame.paragraphs.add(slides.Paragraph())

    effect = slide.timeline.main_sequence.add_effect(
        para1,
        slides.animation.EffectType.APPEAR,
        slides.animation.EffectSubtype.NONE,
        slides.animation.EffectTriggerType.AFTER_PREVIOUS)

    effect2 = slide.timeline.main_sequence.add_effect(
        para2,
        slides.animation.EffectType.APPEAR,
        slides.animation.EffectSubtype.NONE,
        slides.animation.EffectTriggerType.AFTER_PREVIOUS)

    effect3 = slide.timeline.main_sequence.add_effect(
        para3,
        slides.animation.EffectType.APPEAR,
        slides.animation.EffectSubtype.NONE,
        slides.animation.EffectTriggerType.AFTER_PREVIOUS)

    effect4 = slide.timeline.main_sequence.add_effect(
        para3,
        slides.animation.EffectType.APPEAR,
        slides.animation.EffectSubtype.NONE,
        slides.animation.EffectTriggerType.AFTER_PREVIOUS)

    effect.timing.trigger_delay_time = 1
    effect2.timing.trigger_delay_time = 1
    effect3.timing.trigger_delay_time = 1
    effect4.timing.trigger_delay_time = 1

    # Frames in Video konvertieren.
    fps = 33
    with slides.export.PresentationEnumerableFramesGenerator(presentation, fps) as frames_stream:
        for frame_args in frames_stream.enumerate_frames(presentation.slides):
            frame = "frame_{:04d}.png".format(frame_args.frames_generator.frame_index)
            frame_args.get_frame().save(frame)

    cmd_line = ["ffmpeg", "-r", str(fps), "-i", "frame_%04d.png", "-y", "-s", "720x540", "-pix_fmt", "yuv420p", "text_animation.webm"]
    subprocess.call(cmd_line)

Klassen zur Video‑Konvertierung

Um PowerPoint‑zu‑Video‑Konvertierungsaufgaben zu ermöglichen, stellt Aspose.Slides für Python den PresentationEnumerableFramesGenerator bereit.

PresentationEnumerableFramesGenerator ermöglicht es Ihnen, die Frame‑Größe für das später zu erstellende Video sowie den FPS‑Wert (Frames pro Sekunde) über den Konstruktor festzulegen. Wenn Sie eine Präsentationsinstanz übergeben, wird deren Presentation.SlideSize verwendet.

Um alle Animationen in einer Präsentation gleichzeitig abspielen zu lassen, verwenden Sie die Methode PresentationEnumerableFramesGenerator.enumerate_frames. Diese Methode nimmt eine Sammlung von Folien und gibt nacheinander EnumerableFrameArgs zurück. Anschließend verwenden Sie EnumerableFrameArgs.get_frame(), um jedes Video‑Frame zu erhalten.

import aspose.slides as slides

with slides.Presentation("animated.pptx") as presentation:
    fps = 33
    with slides.export.PresentationEnumerableFramesGenerator(presentation, fps) as frames_stream:
        for frame_args in frames_stream.enumerate_frames(presentation.slides):
            frame_args.get_frame().save(f"frame_{frame_args.frames_generator.frame_index:04d}.png")

Die erzeugten Frames können dann zu einem Video zusammengefügt werden. Weitere Details finden Sie im Abschnitt Convert PowerPoint to Video.

Unterstützte Animationen und Effekte

Beim Konvertieren einer PowerPoint‑Präsentation zu Video mit Aspose.Slides für Python ist es wichtig zu verstehen, welche Animationen und Effekte in der Ausgabe unterstützt werden. Aspose.Slides unterstützt eine breite Palette gängiger Eingangs‑, Ausgangs‑ und Hervorhebungseffekte wie Einblenden, Hereinfliegen, Zoomen und Drehen. Allerdings können einige erweiterte oder benutzerdefinierte Animationen nicht vollständig erhalten bleiben oder im fertigen Video anders erscheinen. Dieser Abschnitt gibt einen Überblick über die unterstützten Animationen und Effekte.

Eingang:

Animationstyp Aspose.Slides PowerPoint
Appear not supported supported
Fade supported supported
Fly In supported supported
Float In supported supported
Split supported supported
Wipe supported supported
Shape supported supported
Wheel supported supported
Random Bars supported supported
Grow & Turn not supported supported
Zoom supported supported
Swivel supported supported
Bounce supported supported

Betonung:

Animationstyp Aspose.Slides PowerPoint
Pulse not supported supported
Color Pulse not supported supported
Teeter supported supported
Spin supported supported
Grow/Shrink not supported supported
Desaturate not supported supported
Darken not supported supported
Lighten not supported supported
Transparency not supported supported
Object Color not supported supported
Complementary Color not supported supported
Line Color not supported supported
Fill Color not supported supported

Ausgang:

Animationstyp Aspose.Slides PowerPoint
Disappear not supported supported
Fade supported supported
Fly Out supported supported
Float Out supported supported
Split supported supported
Wipe supported supported
Shape supported supported
Random Bars supported supported
Shrink & Turn not supported supported
Zoom supported supported
Swivel supported supported
Bounce supported supported

Bewegungswege:

Animationstyp Aspose.Slides PowerPoint
Lines supported supported
Arcs supported supported
Turns supported supported
Shapes supported supported
Loops supported supported
Custom Path supported supported

Unterstützte Folienübergangseffekte

Folienübergangseffekte spielen eine wichtige Rolle, um sanfte und optisch ansprechende Wechsel zwischen Folien in einem Video zu erzeugen. Aspose.Slides für Python unterstützt eine Vielzahl gängiger Übergangseffekte, um den Fluss und Stil Ihrer Originalpräsentation zu bewahren. Dieser Abschnitt hebt hervor, welche Übergangseffekte während des Konvertierungsprozesses unterstützt werden.

Dezent:

Animationstyp Aspose.Slides PowerPoint
Morph not supported supported
Fade supported supported
Push supported supported
Pull supported supported
Wipe supported supported
Split supported supported
Reveal not supported supported
Random Bars supported supported
Shape not supported supported
Uncover not supported supported
Cover supported supported
Flash supported supported
Strips supported supported

Spannend:

Animationstyp Aspose.Slides PowerPoint
Fall Over not supported supported
Drape not supported supported
Curtains not supported supported
Wind not supported supported
Prestige not supported supported
Fracture not supported supported
Crush not supported supported
Peel Off not supported supported
Page Curl not supported supported
Airplane not supported supported
Origami not supported supported
Dissolve supported supported
Checkerboard not supported supported
Blinds not supported supported
Clock supported supported
Ripple not supported supported
Honeycomb not supported supported
Glitter not supported supported
Vortex not supported supported
Shred not supported supported
Switch not supported supported
Flip not supported supported
Gallery not supported supported
Cube not supported supported
Doors not supported supported
Box not supported supported
Comb not supported supported
Zoom supported supported
Random not supported supported

Dynamischer Inhalt:

Animationstyp Aspose.Slides PowerPoint
Pan not supported supported
Ferris Wheel supported supported
Conveyor not supported supported
Rotate not supported supported
Orbit not supported supported
Fly Through supported supported

FAQ

Ist es möglich, passwortgeschützte Präsentationen zu konvertieren?

Ja, Aspose.Slides für Python ermöglicht die Arbeit mit passwortgeschützten Präsentationen. Beim Verarbeiten solcher Dateien müssen Sie das korrekte Passwort angeben, damit die Bibliothek auf den Inhalt der Präsentation zugreifen kann.

Unterstützt Aspose.Slides für Python die Verwendung in Cloud‑Lösungen?

Ja, Aspose.Slides für Python kann in Cloud‑Anwendungen und -Diensten integriert werden. Die Bibliothek ist für den Einsatz in Serverumgebungen konzipiert und bietet hohe Leistung sowie Skalierbarkeit für die Stapelverarbeitung von Dateien.

Gibt es Größenbeschränkungen für Präsentationen während der Konvertierung?

Aspose.Slides für Python kann Präsentationen praktisch jeder Größe verarbeiten. Bei sehr großen Dateien können jedoch zusätzliche Systemressourcen erforderlich sein, und es wird gelegentlich empfohlen, die Präsentation zu optimieren, um die Leistung zu verbessern.