Μετατροπή Παρουσιάσεων PowerPoint σε Βίντεο με Python

Εισαγωγή

Με τη μετατροπή της παρουσίασης PowerPoint ή OpenDocument σε βίντεο, κερδίζετε:

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

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

Στο Aspose.Slides for Python 24.4, υλοποιήσαμε την υποστήριξη μετατροπής παρουσιάσεων σε βίντεο.

  • Χρησιμοποιήστε το Aspose.Slides for Python για να δημιουργήσετε καρέ από τις διαφάνειες παρουσίασης με καθορισμένο ρυθμό καρέ (FPS).
  • Στη συνέχεια, χρησιμοποιήστε ένα εξωτερικό εργαλείο όπως το ffmpeg για να συναρμολογήσετε αυτά τα καρέ σε ένα βίντεο.

Μετατροπή Παρουσίασης PowerPoint σε Βίντεο

  1. Χρησιμοποιήστε την εντολή pip install για να προσθέσετε το Aspose.Slides for Python στο έργο σας: pip install aspose-slides==24.4.0
  2. Κατεβάστε το ffmpeg από εδώ ή εγκαταστήστε το μέσω του διαχειριστή πακέτων.
  3. Βεβαιωθείτε ότι το ffmpeg βρίσκεται στο PATH. Διαφορετικά, εκκινήστε το ffmpeg χρησιμοποιώντας το πλήρες μονοπάτι προς το εκτελέσιμο (π.χ., C:\ffmpeg\ffmpeg.exe στα Windows ή /opt/ffmpeg/ffmpeg στο Linux).
  4. Εκτελέστε τον κώδικα μετατροπής PowerPoint σε βίντεο.

Αυτός ο κώδικας Python δείχνει πώς να μετατρέψετε μια παρουσίαση (που περιέχει ένα σχήμα και δύο εφέ κίνησης) σε βίντεο:

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)

Εφέ Βίντεο

Κατά τη μετατροπή μιας παρουσίασης PowerPoint σε βίντεο χρησιμοποιώντας το Aspose.Slides for Python, μπορείτε να εφαρμόσετε διάφορα εφέ βίντεο για να ενισχύσετε την οπτική ποιότητα του αποτελέσματος. Τα εφέ αυτά σας επιτρέπουν να ελέγχετε την εμφάνιση των διαφανειών στο τελικό βίντεο προσθέτοντας ομαλές μεταβάσεις, κινήσεις και άλλα οπτικά στοιχεία. Αυτή η ενότητα εξηγεί τις διαθέσιμες επιλογές εφέ βίντεο και δείχνει πώς να τις εφαρμόζετε.

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

import aspose.pydrawing as drawing

# Προσθήκη σχήματος χαμόγελου και κίνησή του.
# ...

# Προσθήκη νέας διαφάνειας και κινούμενης μετάβασης.
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 for Python υποστηρίζει επίσης κινήσεις κειμένου. Σε αυτό το παράδειγμα, κάνουμε κίνηση στις παραγράφους των αντικειμένων ώστε να εμφανίζονται μία μετά την άλλη, με καθυστέρηση ενός δευτερολέπτου μεταξύ τους:

import aspose.slides as slides
import subprocess

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

    # Προσθήκη κειμένου και κινήσεων.
    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

    # Μετατροπή καρέ σε βίντεο.
    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)

Κλάσεις Μετατροπής Βίντεο

Για την εκτέλεση εργασιών μετατροπής PowerPoint σε βίντεο, το Aspose.Slides for Python παρέχει το PresentationEnumerableFramesGenerator.

PresentationEnumerableFramesGenerator σάς επιτρέπει να ορίσετε το μέγεθος του καρέ για το βίντεο (που θα δημιουργηθεί αργότερα) και την τιμή FPS (καρέ ανά δευτερόλεπτο) μέσω του κατασκευαστή του. Εάν περάσετε μια παρουσίαση, θα χρησιμοποιηθεί το Presentation.SlideSize της.

Για να κάνετε όλες τις κινήσεις σε μια παρουσίαση να εκτελούνται ταυτόχρονα, χρησιμοποιήστε τη μέθοδο PresentationEnumerableFramesGenerator.enumerate_frames. Αυτή η μέθοδος δέχεται μια συλλογή διαφανειών και επιστρέφει διαδοχικά EnumerableFrameArgs. Στη συνέχεια, χρησιμοποιήστε EnumerableFrameArgs.get_frame() για να λάβετε κάθε καρέ του βίντεο.

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

Στη συνέχεια τα παραγόμενα καρέ μπορούν να συναρμολογηθούν σε βίντεο. Για περισσότερες λεπτομέρειες, δείτε την ενότητα Μετατροπή PowerPoint σε Βίντεο.

Υποστηριζόμενες Κινήσεις και Εφέ

Κατά τη μετατροπή μιας παρουσίασης PowerPoint σε βίντεο χρησιμοποιώντας το Aspose.Slides for Python, είναι σημαντικό να κατανοήσετε ποιες κινήσεις και ποια εφέ υποστηρίζονται στην έξοδο. Το Aspose.Slides υποστηρίζει μια ευρεία γκάμα κοινών εφέ εισόδου, εξόδου και έμφασης όπως fade, fly in, zoom και spin. Ωστόσο, ορισμένες προχωρημένες ή προσαρμοσμένες κινήσεις μπορεί να μην διατηρηθούν πλήρως ή να εμφανιστούν διαφορετικά στο τελικό βίντεο. Αυτή η ενότητα περιγράφει τις υποστηριζόμενες κινήσεις και εφέ.

Είσοδος:

Τύπος Κίνησης Aspose.Slides PowerPoint
Εμφάνιση not supported supported
Ξεθώριασμα supported supported
Πτήση Εισόδου supported supported
Αιωρούμενη Εισαγωγή supported supported
Διαίρεση supported supported
Σκούπισμα supported supported
Σχήμα supported supported
Τροχός supported supported
Τυχαίες Γραμμές supported supported
Ανάπτυξη & Περιστροφή not supported supported
Ζουμ supported supported
Περιστροφή supported supported
Αναπήδηση supported supported

Έμφαση:

Τύπος Κίνησης Aspose.Slides PowerPoint
Παλμός not supported supported
Χρωματικός Παλμός not supported supported
Ανατάραξη supported supported
Περιστροφή supported supported
Ανάπτυξη/Σμίκρυνση not supported supported
Αποκορεσμός not supported supported
Σκοτείνιασμα not supported supported
Φωτεινότητα not supported supported
Διαφάνεια not supported supported
Χρώμα Αντικειμένου not supported supported
Συμπληρωματικό Χρώμα not supported supported
Χρώμα Γραμμής not supported supported
Χρώμα Γέμισης not supported supported

Έξοδος:

Τύπος Κίνησης Aspose.Slides PowerPoint
Εξαφάνιση not supported supported
Ξεθώριασμα supported supported
Πτήση Εξόδου supported supported
Αιωρούμενη Έξοδος supported supported
Διαίρεση supported supported
Σκούπισμα supported supported
Σχήμα supported supported
Τυχαίες Γραμμές supported supported
Σμίκρυνση & Περιστροφή not supported supported
Ζουμ supported supported
Περιστροφή supported supported
Αναπήδηση supported supported

Διαδρομές Κίνησης:

Τύπος Κίνησης Aspose.Slides PowerPoint
Γραμμές supported supported
Τόξα supported supported
Περιστροφές supported supported
Σχήματα supported supported
Βρόχοι supported supported
Προσαρμοσμένη Διαδρομή supported supported

Υποστηριζόμενα Εφέ Μετάβασης Διαφάνειας

Τα εφέ μετάβασης διαφάνειας παίζουν σημαντικό ρόλο στη δημιουργία ομαλών και οπτικά ελκυστικών αλλαγών μεταξύ των διαφανειών σε ένα βίντεο. Το Aspose.Slides for Python υποστηρίζει μια ποικιλία συχνά χρησιμοποιούμενων εφέ μετάβασης για να βοηθήσει στη διατήρηση της ροής και του στυλ της αρχικής παρουσίασης. Αυτή η ενότητα υποδεικνύει ποια εφέ μετάβασης υποστηρίζονται κατά τη διαδικασία μετατροπής.

Απαλή:

Τύπος Κίνησης Aspose.Slides PowerPoint
Μεταμόρφωση not supported supported
Ξεθώριασμα supported supported
Ωθηση supported supported
Τράβηγμα supported supported
Σκούπισμα supported supported
Διαίρεση supported supported
Αποκάλυψη not supported supported
Τυχαίες Μπάρες supported supported
Σχήμα not supported supported
Αποκάλυψη not supported supported
Κάλυψη supported supported
Αναλαμπή supported supported
Ταινίες supported supported

Δυναμική:

Τύπος Κίνησης Aspose.Slides PowerPoint
Πτώση not supported supported
Κάλυψη not supported supported
Κουρτίνες not supported supported
Άνεμος not supported supported
Κύρος not supported supported
Ρήγμα not supported supported
Σπρώξιμο not supported supported
Απογύρισμα not supported supported
Τύλιγμα Σελίδας not supported supported
Αεροπλάνο not supported supported
Οριγκάμι not supported supported
Διάλυση supported supported
Σκακιόδρομος not supported supported
Προβολοί not supported supported
Ρολόι supported supported
Κυματισμός not supported supported
Κέλυφος Κυψέλης not supported supported
Λάμψη not supported supported
Δίχτυ not supported supported
Τεμαχισμός not supported supported
Αλλαγή not supported supported
Αναστροφή not supported supported
Γκαλερί not supported supported
Κύβο not supported supported
Πόρτες not supported supported
Κουτί not supported supported
Χτένα not supported supported
Ζουμ supported supported
Τυχαίο not supported supported

Δυναμικό Περιεχόμενο:

Τύπος Κίνησης Aspose.Slides PowerPoint
Πανόραμα not supported supported
Τροχός Ferris supported supported
Μεταφορέας not supported supported
Περιστροφή not supported supported
Τροχιά not supported supported
Πτήση Διαμέσου supported supported

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

Μπορεί να μετατραπούν παρουσιάσεις που είναι προστατευμένες με κωδικό;

Ναι, το Aspose.Slides for Python επιτρέπει την εργασία με παρουσιάσεις που είναι προστατευμένες με κωδικό. Όταν επεξεργάζεστε τέτοια αρχεία, πρέπει να παρέχετε τον σωστό κωδικό ώστε η βιβλιοθήκη να έχει πρόσβαση στο περιεχόμενο της παρουσίασης.

Υποστηρίζει το Aspose.Slides for Python χρήση σε λύσεις cloud;

Ναι, το Aspose.Slides for Python μπορεί να ενσωματωθεί σε εφαρμογές και υπηρεσίες cloud. Η βιβλιοθήκη έχει σχεδιαστεί ώστε να λειτουργεί σε περιβάλλοντα διακομιστών, εξασφαλίζοντας υψηλή απόδοση και κλιμακωσιμότητα για μαζική επεξεργασία αρχείων.

Υπάρχουν περιορισμοί μεγέθους για τις παρουσιάσεις κατά τη μετατροπή;

Το Aspose.Slides for Python είναι ικανό να διαχειριστεί παρουσιάσεις σχεδόν οποιουδήποτε μεγέθους. Ωστόσο, όταν εργάζεστε με πολύ μεγάλα αρχεία, μπορεί να απαιτούνται πρόσθετοι πόροι συστήματος και συχνά συνιστάται η βελτιστοποίηση της παρουσίασης για βελτιωμένη απόδοση.