Προσθήκη Βίντεο σε Παρουσιάσεις με Python

Εισαγωγή

Ένα καλά τοποθετημένο βίντεο σε μια παρουσίαση μπορεί να κάνει το μήνυμά σας πιο ελκυστικό και να αυξήσει τα επίπεδα αλληλεπίδρασης με το κοινό σας.

Το PowerPoint σας επιτρέπει να προσθέτετε βίντεο σε μια διαφάνεια σε μια παρουσίαση με δύο τρόπους:

  • Προσθέστε ή ενσωματώστε ένα τοπικό βίντεο (αποθηκευμένο στον υπολογιστή σας)
  • Προσθέστε ένα βίντεο online (από πηγή ιστού όπως το YouTube).

Για να μπορείτε να προσθέτετε βίντεο (αντικείμενα βίντεο) σε μια παρουσίαση, το Aspose.Slides παρέχει την κλάση Video , την κλάση VideoFrame και άλλους σχετικούς τύπους.

Δημιουργία Ενσωματωμένου Καρέ Βίντεο

Αν το αρχείο βίντεο που θέλετε να προσθέσετε στη διαφάνειά σας είναι αποθηκευμένο τοπικά, μπορείτε να δημιουργήσετε ένα καρέ βίντεο για να ενσωματώσετε το βίντεο στην παρουσίασή σας.

  1. Δημιουργήστε μια παρουσία της κλάσης Presentation .
  2. Αποκτήστε την αναφορά μιας διαφάνειας μέσω του δείκτη της.
  3. Προσθέστε ένα αντικείμενο Video και περάστε τη διαδρομή του αρχείου βίντεο για να ενσωματώσετε το βίντεο στην παρουσίαση.
  4. Προσθέστε ένα αντικείμενο VideoFrame για να δημιουργήσετε ένα καρέ για το βίντεο.
  5. Αποθηκεύστε την τροποποιημένη παρουσίαση.
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)

        # Λαμβάνει την πρώτη διαφάνεια και προσθέτει ένα καρέ βίντεο
        pres.slides[0].shapes.add_video_frame(10, 10, 150, 250, video)

        # Αποθηκεύει την παρουσίαση στον δίσκο
        pres.save(path + "pres-with-video.pptx", slides.export.SaveFormat.PPTX)

Εναλλακτικά, μπορείτε να προσθέσετε ένα βίντεο περνώντας τη διαδρομή του αρχείου απευθείας στη μέθοδο add_video_frame(x, y, width, height, fname):

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

Δημιουργία Καρέ Βίντεο με Βίντεο από Πηγή Ιστού

Το Microsoft PowerPoint 2013 και νεότερα υποστηρίζει βίντεο YouTube σε παρουσιάσεις. Εάν το βίντεο που θέλετε να χρησιμοποιήσετε είναι διαθέσιμο online (π.χ. στο YouTube), μπορείτε να το προσθέσετε στην παρουσίασή σας μέσω του διαδικτυακού του συνδέσμου.

  1. Δημιουργήστε μια παρουσία της κλάσης Presentation .
  2. Αποκτήστε την αναφορά μιας διαφάνειας μέσω του δείκτη της.
  3. Προσθέστε ένα αντικείμενο Video και περάστε τον σύνδεσμο στο βίντεο.
  4. Ορίστε μια μικρογραφία για το καρέ βίντεο.
  5. Αποθηκεύστε την παρουσίαση.
import aspose.slides as slides
from urllib.request import urlopen

def add_video_from_youyube(pres, videoId):
    # Προσθέτει ένα καρέ βίντεο
    videoFrame = pres.slides[0].shapes.add_video_frame(10, 10, 427, 240, "https://www.youtube.com/embed/" + videoId)
    videoFrame.play_mode = slides.VideoPlayModePreset.AUTO

    # Φορτώνει μικρογραφία
    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)

Διαχείριση Υπότιτλων Βίντεο

Το Aspose.Slides σας επιτρέπει να διαχειρίζεστε κλειστά υπότιτλους για καρέ βίντεο σε παρουσιάσεις PowerPoint. Οι υπότιτλοι αποθηκεύονται σε μορφή WebVTT και εκτίθενται μέσω της ιδιότητας VideoFrame.caption_tracks.

Προσθήκη Υπότιτλων σε Καρέ Βίντεο

Για να προσθέσετε υπότιτλους σε ένα καρέ βίντεο:

  1. Δημιουργήστε μια παρουσία της κλάσης Presentation .
  2. Προσθέστε ένα βίντεο στην παρουσίαση.
  3. Προσθέστε ένα αντικείμενο VideoFrame σε μια διαφάνεια.
  4. Χρησιμοποιήστε το CaptionsCollection που επιστρέφεται από το caption_tracks για να προσθέσετε ένα κομμάτι υπότιτλου WebVTT.
  5. Αποθηκεύστε την τροποποιημένη παρουσίαση.
import aspose.slides as slides

with slides.Presentation() as presentation:
    with open("video.mp4", "rb") as video_stream:
        video_data = video_stream.read()

    video = presentation.videos.add_video(video_data)

    slide = presentation.slides[0]
    video_frame = slide.shapes.add_video_frame(0, 0, 100, 100, video)

    # Προσθέτει ένα νέο κομμάτι υπότιτλων από αρχείο WebVTT.
    presentation.save("video_with_captions.pptx", slides.export.SaveFormat.PPTX)

Η κλάση CaptionsCollection παρέχει επίσης μια υπερφόρτωση που σας επιτρέπει να προσθέσετε υπότιτλους από μια ροή.

Εξαγωγή Υπότιτλων από Καρέ Βίντεο

Για να εξαγάγετε υπότιτλους από ένα καρέ βίντεο:

  1. Φορτώστε την παρουσίαση που περιέχει το βίντεο.
  2. Βρείτε το αντικείμενο VideoFrame στόχο.
  3. Επαναλάβετε τη συλλογή caption_tracks .
  4. Αποθηκεύστε κάθε κομμάτι υπότιτλου σε ένα αρχείο .vtt.
import aspose.slides as slides

with slides.Presentation("video_with_captions.pptx") as presentation:
    slide = presentation.slides[0]
    for shape in slide.shapes:
        if isinstance(shape, slides.VideoFrame):
            for caption_track in shape.caption_tracks:
                # Αποθηκεύει το κομμάτι υπότιτλων σε αρχείο WebVTT.
                file_path = f"{caption_track.caption_id}.vtt"
                with open(file_path, "wb") as track_stream:
                    track_stream.write(bytes(caption_track.binary_data))

Κάθε αντικείμενο Captions εκθέτει το αναγνωριστικό του υπότιτλου, την ετικέτα, τα δυαδικά δεδομένα και το κείμενο του υποτίτλου ως συμβολοσειρά UTF-8.

Αφαίρεση Υπότιτλων από Καρέ Βίντεο

Για να αφαιρέσετε υπότιτλους από ένα καρέ βίντεο:

  1. Φορτώστε την παρουσίαση που περιέχει το βίντεο.
  2. Αποκτήστε το αντικείμενο VideoFrame στόχο.
  3. Αφαιρέστε τα κομμάτια υπότιτλου από το CaptionsCollection .
  4. Αποθηκεύστε την τροποποιημένη παρουσίαση.
import aspose.slides as slides

with slides.Presentation("video_with_captions.pptx") as presentation:
    slide = presentation.slides[0]
    video_frame = slide.shapes[0]  # τύπος: slides.VideoFrame

    # Αφαιρεί όλα τα υπότιτλα από το καρέ βίντεο.
    video_frame.caption_tracks.clear()

    presentation.save("video_without_captions.pptx", slides.export.SaveFormat.PPTX)

Εάν χρειάζεται να αφαιρέσετε μόνο ένα κομμάτι υπότιτλου, χρησιμοποιήστε τις μεθόδους remove ή remove_at αντί για το clear .

Εξαγωγή Βίντεο από Διαφάνεια

Εκτός από την προσθήκη βίντεο σε διαφάνειες, το Aspose.Slides σας επιτρέπει να εξάγετε βίντεο ενσωματωμένα σε παρουσιάσεις.

  1. Δημιουργήστε μια παρουσία της κλάσης Presentation για να φορτώσετε την παρουσίαση που περιέχει το βίντεο.
  2. Επαναλάβετε μέσα από όλα τα αντικείμενα Slide .
  3. Επαναλάβετε μέσα από όλα τα αντικείμενα Shape για να βρείτε ένα VideoFrame .
  4. Αποθηκεύστε το βίντεο στον δίσκο.
import aspose.slides as slides

# Δημιουργεί ένα αντικείμενο Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης
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)

Συχνές Ερωτήσεις

Ποιοι παράμετροι αναπαραγωγής βίντεο μπορούν να αλλάξουν για ένα VideoFrame;

Μπορείτε να ελέγξετε τη playback mode (αυτόματη ή με κλικ) και την looping. Αυτές οι επιλογές είναι διαθέσιμες μέσω των ιδιοτήτων του αντικειμένου VideoFrame .

Επηρεάζει η προσθήκη ενός βίντεο το μέγεθος του αρχείου PPTX;

Ναι. Όταν ενσωματώνετε ένα τοπικό βίντεο, τα δυαδικά δεδομένα περιλαμβάνονται στο έγγραφο, έτσι το μέγεθος της παρουσίασης αυξάνεται ανάλογα με το μέγεθος του αρχείου. Όταν προσθέτετε ένα βίντεο online, ενσωματώνεται ένας σύνδεσμος και μια μικρογραφία, οπότε η αύξηση του μεγέθους είναι μικρότερη.

Μπορώ να αντικαταστήσω το βίντεο σε ένα υπάρχον VideoFrame χωρίς να αλλάξω τη θέση και το μέγεθός του;

Ναι. Μπορείτε να αντικαταστήσετε το video content μέσα στο καρέ διατηρώντας τη γεωμετρία του σχήματος· αυτό είναι μια κοινή κατάσταση για την ενημέρωση πολυμέσων σε υπάρχουσα διάταξη.

Μπορεί να προσδιοριστεί ο τύπος περιεχομένου (MIME) ενός ενσωματωμένου βίντεο;

Ναι. Ένα ενσωματωμένο βίντεο διαθέτει έναν content type που μπορείτε να διαβάσετε και να χρησιμοποιήσετε, για παράδειγμα κατά την αποθήκευσή του στον δίσκο.