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
- Verwenden Sie den pip‑Install‑Befehl, um Aspose.Slides für Python zu Ihrem Projekt hinzuzufügen:
pip install aspose-slides==24.4.0 - Laden Sie ffmpeg von hier herunter oder installieren Sie es über den Paket‑Manager.
- Stellen Sie sicher, dass ffmpeg im
PATHliegt. Andernfalls starten Sie ffmpeg mit dem vollständigen Pfad zur Binärdatei (z. B.C:\ffmpeg\ffmpeg.exeunter Windows oder/opt/ffmpeg/ffmpegunter Linux). - 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 | ![]() |
![]() |
| Fade | ![]() |
![]() |
| Fly In | ![]() |
![]() |
| Float In | ![]() |
![]() |
| Split | ![]() |
![]() |
| Wipe | ![]() |
![]() |
| Shape | ![]() |
![]() |
| Wheel | ![]() |
![]() |
| Random Bars | ![]() |
![]() |
| Grow & Turn | ![]() |
![]() |
| Zoom | ![]() |
![]() |
| Swivel | ![]() |
![]() |
| Bounce | ![]() |
![]() |
Betonung:
| Animationstyp | Aspose.Slides | PowerPoint |
|---|---|---|
| Pulse | ![]() |
![]() |
| Color Pulse | ![]() |
![]() |
| Teeter | ![]() |
![]() |
| Spin | ![]() |
![]() |
| Grow/Shrink | ![]() |
![]() |
| Desaturate | ![]() |
![]() |
| Darken | ![]() |
![]() |
| Lighten | ![]() |
![]() |
| Transparency | ![]() |
![]() |
| Object Color | ![]() |
![]() |
| Complementary Color | ![]() |
![]() |
| Line Color | ![]() |
![]() |
| Fill Color | ![]() |
![]() |
Ausgang:
| Animationstyp | Aspose.Slides | PowerPoint |
|---|---|---|
| Disappear | ![]() |
![]() |
| Fade | ![]() |
![]() |
| Fly Out | ![]() |
![]() |
| Float Out | ![]() |
![]() |
| Split | ![]() |
![]() |
| Wipe | ![]() |
![]() |
| Shape | ![]() |
![]() |
| Random Bars | ![]() |
![]() |
| Shrink & Turn | ![]() |
![]() |
| Zoom | ![]() |
![]() |
| Swivel | ![]() |
![]() |
| Bounce | ![]() |
![]() |
Bewegungswege:
| Animationstyp | Aspose.Slides | PowerPoint |
|---|---|---|
| Lines | ![]() |
![]() |
| Arcs | ![]() |
![]() |
| Turns | ![]() |
![]() |
| Shapes | ![]() |
![]() |
| Loops | ![]() |
![]() |
| Custom Path | ![]() |
![]() |
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 | ![]() |
![]() |
| Fade | ![]() |
![]() |
| Push | ![]() |
![]() |
| Pull | ![]() |
![]() |
| Wipe | ![]() |
![]() |
| Split | ![]() |
![]() |
| Reveal | ![]() |
![]() |
| Random Bars | ![]() |
![]() |
| Shape | ![]() |
![]() |
| Uncover | ![]() |
![]() |
| Cover | ![]() |
![]() |
| Flash | ![]() |
![]() |
| Strips | ![]() |
![]() |
Spannend:
| Animationstyp | Aspose.Slides | PowerPoint |
|---|---|---|
| Fall Over | ![]() |
![]() |
| Drape | ![]() |
![]() |
| Curtains | ![]() |
![]() |
| Wind | ![]() |
![]() |
| Prestige | ![]() |
![]() |
| Fracture | ![]() |
![]() |
| Crush | ![]() |
![]() |
| Peel Off | ![]() |
![]() |
| Page Curl | ![]() |
![]() |
| Airplane | ![]() |
![]() |
| Origami | ![]() |
![]() |
| Dissolve | ![]() |
![]() |
| Checkerboard | ![]() |
![]() |
| Blinds | ![]() |
![]() |
| Clock | ![]() |
![]() |
| Ripple | ![]() |
![]() |
| Honeycomb | ![]() |
![]() |
| Glitter | ![]() |
![]() |
| Vortex | ![]() |
![]() |
| Shred | ![]() |
![]() |
| Switch | ![]() |
![]() |
| Flip | ![]() |
![]() |
| Gallery | ![]() |
![]() |
| Cube | ![]() |
![]() |
| Doors | ![]() |
![]() |
| Box | ![]() |
![]() |
| Comb | ![]() |
![]() |
| Zoom | ![]() |
![]() |
| Random | ![]() |
![]() |
Dynamischer Inhalt:
| Animationstyp | Aspose.Slides | PowerPoint |
|---|---|---|
| Pan | ![]() |
![]() |
| Ferris Wheel | ![]() |
![]() |
| Conveyor | ![]() |
![]() |
| Rotate | ![]() |
![]() |
| Orbit | ![]() |
![]() |
| Fly Through | ![]() |
![]() |
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.

