Videos zu Präsentationen in Python hinzufügen
Ein gut platziertes Video in einer Präsentation kann Ihre Botschaft überzeugender machen und die Engagement‑Werte bei Ihrem Publikum erhöhen.
PowerPoint ermöglicht das Hinzufügen von Videos zu einer Folie in einer Präsentation auf zwei Arten:
- Video lokal hinzufügen oder einbetten (auf Ihrem Rechner gespeichert)
- Online‑Video hinzufügen (von einer Web‑Quelle wie YouTube).
Um Ihnen das Hinzufügen von Videos (Video‑Objekten) zu einer Präsentation zu ermöglichen, stellt Aspose.Slides die Klasse Video , die Klasse VideoFrame und weitere relevante Typen bereit.
Einbetten eines Video‑Frames erstellen
Wenn die Videodatei, die Sie zu Ihrer Folie hinzufügen möchten, lokal gespeichert ist, können Sie einen Video‑Frame erstellen, um das Video in Ihre Präsentation einzubetten.
- Erstellen Sie eine Instanz der Klasse Presentation .
- Holen Sie die Referenz einer Folie über deren Index.
- Fügen Sie ein Video-Objekt hinzu und übergeben Sie den Pfad zur Videodatei, um das Video in die Präsentation einzubetten.
- Fügen Sie ein VideoFrame-Objekt hinzu, um einen Rahmen für das Video zu erstellen.
- Speichern Sie die modifizierte Präsentation.
Dieser Python‑Code zeigt, wie Sie ein lokal gespeichertes Video zu einer Präsentation hinzufügen:
import aspose.slides as slides
with slides.Presentation(path + "pres.pptx") as pres:
with open("Wildlife.mp4", "br") as fileStream:
video = pres.videos.add_video(fileStream, slides.LoadingStreamBehavior.KEEP_LOCKED)
# Holt die erste Folie und fügt einen Video-Frame hinzu
pres.slides[0].shapes.add_video_frame(10, 10, 150, 250, video)
# Speichert die Präsentation auf dem Datenträger
pres.save(path + "pres-with-video.pptx", slides.export.SaveFormat.PPTX)
Alternativ können Sie ein Video hinzufügen, indem Sie dessen Dateipfad direkt an die Methode add_video_frame(x, y, width, height, fname) übergeben:
import aspose.slides as slides
with slides.Presentation() as pres:
sld = pres.slides[0]
vf = sld.shapes.add_video_frame(50, 150, 300, 150, "video1.avi")
Video‑Frame mit Video aus Web‑Quelle erstellen
Microsoft PowerPoint 2013 und neuer unterstützt YouTube‑Videos in Präsentationen. Wenn das Video, das Sie verwenden möchten, online verfügbar ist (z. B. auf YouTube), können Sie es über dessen Web‑Link zu Ihrer Präsentation hinzufügen.
- Erstellen Sie eine Instanz der Klasse Presentation .
- Holen Sie die Referenz einer Folie über deren Index.
- Fügen Sie ein Video-Objekt hinzu und übergeben Sie den Link zum Video.
- Legen Sie ein Miniaturbild für den Video‑Frame fest.
- Speichern Sie die Präsentation.
Dieser Python‑Code zeigt, wie Sie ein Video aus dem Web zu einer Folie in einer PowerPoint‑Präsentation hinzufügen:
import aspose.slides as slides
from urllib.request import urlopen
def add_video_from_youyube(pres, videoId):
# Fügt einen Video-Frame hinzu
videoFrame = pres.slides[0].shapes.add_video_frame(10, 10, 427, 240, "https://www.youtube.com/embed/" + videoId)
videoFrame.play_mode = slides.VideoPlayModePreset.AUTO
# Lädt das Vorschaubild
thumbnail_uri = "http://img.youtube.com/vi/" + videoId + "/hqdefault.jpg"
f = urlopen(thumbnail_uri)
videoFrame.picture_format.picture.image = pres.images.add_image(f.read())
with slides.Presentation() as pres:
add_video_from_youyube(pres, "s5JbfQZ5Cc0")
pres.save("AddVideoFrameFromWebSource_out.pptx", slides.export.SaveFormat.PPTX)
Video aus Folie extrahieren
Neben dem Hinzufügen von Videos zu Folien ermöglicht Aspose.Slides das Extrahieren von in Präsentationen eingebetteten Videos.
- Erstellen Sie eine Instanz der Klasse Presentation , um die Präsentation zu laden, die das Video enthält.
- Iterieren Sie über alle Slide-Objekte.
- Iterieren Sie über alle Shape-Objekte, um ein VideoFrame zu finden.
- Speichern Sie das Video auf dem Datenträger.
Dieser Python‑Code zeigt, wie Sie das Video auf einer Präsentationsfolie extrahieren:
import aspose.slides as slides
# Erstellt ein Presentation-Objekt, das eine Präsentationsdatei repräsentiert
with slides.Presentation(path + "Video.pptx") as presentation:
for shape in presentation.slides[0].shapes:
if type(shape) is slides.VideoFrame:
type = shape.embedded_video.content_type
buffer = shape.embedded_video.binary_data
with open("NewVideo_out." + type[type.rfind('/') + 1:len(type)], "wb") as stream:
stream.write(buffer)
FAQ
Welche Wiedergabe‑Parameter können für einen VideoFrame geändert werden?
Sie können den Wiedergabemodus (automatisch oder bei Klick) und das Schleifen steuern. Diese Optionen stehen über die Eigenschaften des VideoFrame-Objekts zur Verfügung.
Beeinflusst das Hinzufügen eines Videos die Größe der PPTX‑Datei?
Ja. Wenn Sie ein lokales Video einbetten, werden die Binärdaten in das Dokument aufgenommen, sodass die Präsentationsgröße proportional zur Dateigröße wächst. Wenn Sie ein Online‑Video hinzufügen, werden nur ein Link und ein Miniaturbild eingebettet, sodass die Größenzunahme geringer ist.
Kann ich das Video in einem bestehenden VideoFrame ersetzen, ohne Position und Größe zu ändern?
Ja. Sie können den Video‑Inhalt im Frame austauschen, während Sie die Geometrie der Form beibehalten; dies ist ein übliches Szenario zum Aktualisieren von Medien in einem vorhandenen Layout.
Kann der Inhaltstyp (MIME) eines eingebetteten Videos ermittelt werden?
Ja. Ein eingebettetes Video hat einen Inhaltstyp, den Sie auslesen und verwenden können, zum Beispiel beim Speichern auf dem Datenträger.