Convertir PowerPoint en Vidéo

En convertissant votre présentation PowerPoint en vidéo, vous obtenez

  • Augmentation de l’accessibilité : Tous les appareils (quel que soit le système) sont équipés par défaut de lecteurs vidéo par rapport aux applications d’ouverture de présentations, de sorte que les utilisateurs trouvent plus facile d’ouvrir ou de lire des vidéos.
  • Plus de portée : Grâce aux vidéos, vous pouvez atteindre un large public et les cibler avec des informations qui pourraient autrement sembler ennuyeuses dans une présentation. La plupart des enquêtes et statistiques suggèrent que les gens regardent et consomment des vidéos plus que d’autres formes de contenu, et qu’ils préfèrent généralement ce type de contenu.

Conversion PowerPoint en Vidéo dans Aspose.Slides

Dans Aspose.Slides 24.4, nous avons implémenté le support de la conversion de présentation en vidéo.

  • Utilisez Aspose.Slides pour générer un ensemble d’images (à partir des diapositives de la présentation) qui correspondent à un certain FPS (images par seconde)
  • Utilisez un utilitaire tiers comme ffmpeg pour créer une vidéo basée sur les images.

Convertir PowerPoint en Vidéo

  1. Utilisez la commande pip install pour ajouter Aspose.Slides à votre projet :
    • exécutez pip install Aspose.Slides==24.4.0
  2. Téléchargez ffmpeg ici ou installez via un gestionnaire de paquets.
  3. Assurez-vous que ffmpeg est dans le PATH, sinon lancez ffmpeg en utilisant le chemin complet vers le binaire (par exemple C:\ffmpeg\ffmpeg.exe sur Windows ou /opt/ffmpeg/ffmpeg sur Linux)
  4. Exécutez le code de conversion PowerPoint en vidéo.

Ce code Python vous montre comment convertir une présentation (contenant une figure et deux effets d’animation) en vidéo :

import aspose.slides as slides
import subprocess

with slides.Presentation() as presentation:
    smile = presentation.slides[0].shapes.add_auto_shape(slides.ShapeType.SMILEY_FACE, 110, 20, 500, 500)
    effect_in = presentation.slides[0].timeline.main_sequence.add_effect(smile, slides.animation.EffectType.FLY, slides.animation.EffectSubtype.TOP_LEFT, slides.animation.EffectTriggerType.AFTER_PREVIOUS)
    effect_out = presentation.slides[0].timeline.main_sequence.add_effect(smile, 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)

Effets Vidéo

Vous pouvez appliquer des animations aux objets sur les diapositives et utiliser des transitions entre les diapositives.

Les animations et les transitions rendent les diaporamas plus engageants et intéressants — et elles font la même chose pour les vidéos. Ajoutons une autre diapositive et une transition au code pour la présentation précédente :

import aspose.pydrawing as drawing
# Ajoute une forme smiley et l'anime
# ...
# Ajoute une nouvelle diapositive et une transition animée

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 prend également en charge l’animation pour les textes. Donc, nous animons des paragraphes sur des objets, qui apparaîtront un après l’autre (avec un délai fixé à une seconde) :

import aspose.slides as slides
import subprocess

with slides.Presentation() as presentation:
    # Ajoute des textes et des animations
    auto_shape = presentation.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 210, 120, 300, 300)
    para1 = slides.Paragraph()
    para1.portions.add(slides.Portion("Aspose Slides pour .NET"))
    para2 = slides.Paragraph()
    para2.portions.add(slides.Portion("convertir la présentation PowerPoint avec texte en vidéo"))

    para3 = slides.Paragraph()
    para3.portions.add(slides.Portion("paragraphe par paragraphe"))
    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 = presentation.slides[0].timeline.main_sequence.add_effect(para1, slides.animation.EffectType.APPEAR, slides.animation.EffectSubtype.NONE, slides.animation.EffectTriggerType.AFTER_PREVIOUS)

    effect2 = presentation.slides[0].timeline.main_sequence.add_effect(para2, slides.animation.EffectType.APPEAR, slides.animation.EffectSubtype.NONE, slides.animation.EffectTriggerType.AFTER_PREVIOUS)

    effect3 = presentation.slides[0].timeline.main_sequence.add_effect(para3, slides.animation.EffectType.APPEAR, slides.animation.EffectSubtype.NONE, slides.animation.EffectTriggerType.AFTER_PREVIOUS)

    effect4 = presentation.slides[0].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

    # Convertit les images en vidéo
    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)

Classes de Conversion Vidéo

Pour vous permettre d’effectuer des tâches de conversion PowerPoint en vidéo, Aspose.Slides fournit le PresentationEnumerableAnimationsGenerator.

PresentationEnumerableAnimationsGenerator vous permet de définir la taille de l’image pour la vidéo (qui sera créée ultérieurement) et la valeur FPS (images par seconde) via son constructeur. Si vous passez une instance de la présentation, Presentation.SlideSize sera utilisée.

Pour faire jouer toutes les animations dans une présentation en même temps, utilisez la méthode PresentationEnumerableAnimationsGenerator.enumerate_frames. Cette méthode prend une collection de diapositives et permet d’obtenir séquentiellement EnumerableFrameArgs. Ensuite, EnumerableFrameArgs.get_frame() vous permet d’obtenir la trame vidéo :

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

Ensuite, les images générées peuvent être compilées pour produire une vidéo. Voir la section Convertir PowerPoint en Vidéo.

Animations et Effets Supportés

Entrée:

Type d’Animation Aspose.Slides PowerPoint
Apparaître non supporté supporté
Fondu supporté supporté
Entrée en Vol supporté supporté
Flottement supporté supporté
Rupture supporté supporté
Essuyer supporté supporté
Forme supporté supporté
Roue supporté supporté
Barres Aléatoires supporté supporté
Grandir & Tourner non supporté supporté
Zoom supporté supporté
Rotation supporté supporté
Sauter supporté supporté

Accentuation:

Type d’Animation Aspose.Slides PowerPoint
Pulse non supporté supporté
Pulse de Couleur non supporté supporté
Bascule supporté supporté
Tourner supporté supporté
Grandir/Réduire non supporté supporté
Désaturer non supporté supporté
Assombrir non supporté supporté
Éclaircir non supporté supporté
Transparence non supporté supporté
Couleur de l’Objet non supporté supporté
Couleur Complémentaire non supporté supporté
Couleur de Ligne non supporté supporté
Couleur de Remplissage non supporté supporté

Sortie:

Type d’Animation Aspose.Slides PowerPoint
Disparaître non supporté supporté
Fondu supporté supporté
Sortie en Vol supporté supporté
Flottement supporté supporté
Rupture supporté supporté
Essuyer supporté supporté
Forme supporté supporté
Barres Aléatoires supporté supporté
Réduire & Tourner non supporté supporté
Zoom supporté supporté
Rotation supporté supporté
Sauter supporté supporté

Trajectoires de Mouvement :

Type d’Animation Aspose.Slides PowerPoint
Lignes supporté supporté
Arcs supporté supporté
Tournants supporté supporté
Formes supporté supporté
Boucles supporté supporté
Chemin Personnalisé supporté supporté

Effets de Transition de Diapo Supportés

Subtils:

Type d’Animation Aspose.Slides PowerPoint
Morphose non supporté supporté
Fondu supporté supporté
Pousser supporté supporté
Tirer supporté supporté
Essuyer supporté supporté
Rupture supporté supporté
Révéler non supporté supporté
Barres Aléatoires supporté supporté
Forme non supporté supporté
Découvrir non supporté supporté
Couverture supporté supporté
Clignoter supporté supporté
Bandes supporté supporté

Excitants:

Type d’Animation Aspose.Slides PowerPoint
Tomber non supporté supporté
Draper non supporté supporté
Rideaux non supporté supporté
Vent non supporté supporté
Prestige non supporté supporté
Fracture non supporté supporté
Écraser non supporté supporté
Peel Off non supporté supporté
Page Curl non supporté supporté
Avion non supporté supporté
Origami non supporté supporté
Dissoudre supporté supporté
Damier non supporté supporté
Stores non supporté supporté
Horloge supporté supporté
Ondulation non supporté supporté
Miel non supporté supporté
Paillettes non supporté supporté
Vortex non supporté supporté
Découper non supporté supporté
Changer non supporté supporté
Retourner non supporté supporté
Galerie non supporté supporté
Cube non supporté supporté
Portes non supporté supporté
Boîte non supporté supporté
Peigne non supporté supporté
Zoom supporté supporté
Aléatoire non supporté supporté

Contenu Dynamique:

Type d’Animation Aspose.Slides PowerPoint
Panoramique non supporté supporté
Grande Roue supporté supporté
Convoyeur non supporté supporté
Rotation non supporté supporté
Orbiter non supporté supporté
Voler à Travers supporté supporté