Convertir PowerPoint a Video

Al convertir tu presentación de PowerPoint a video, obtienes

  • Aumento en accesibilidad: Todos los dispositivos (independientemente de la plataforma) vienen equipados con reproductores de video por defecto en comparación con aplicaciones que abren presentaciones, por lo que a los usuarios les resulta más fácil abrir o reproducir videos.
  • Mayor alcance: A través de videos, puedes alcanzar a una gran audiencia y brindarles información que de otro modo podría parecer tediosa en una presentación. La mayoría de las encuestas y estadísticas sugieren que las personas ven y consumen videos más que otras formas de contenido, y generalmente prefieren dicho contenido.

Conversión de PowerPoint a Video en Aspose.Slides

En Aspose.Slides 24.4, implementamos soporte para la conversión de presentaciones a video.

  • Usa Aspose.Slides para generar un conjunto de cuadros (de las diapositivas de la presentación) que correspondan a cierta FPS (cuadros por segundo).
  • Usa una utilidad de terceros como ffmpeg para crear un video basado en los cuadros.

Convertir PowerPoint a Video

  1. Usa el comando de instalación pip para agregar Aspose.Slides a tu proyecto:
    • ejecuta pip install Aspose.Slides==24.4.0
  2. Descarga ffmpeg aquí o instala a través del administrador de paquetes.
  3. Asegúrate de que ffmpeg esté en el PATH, de lo contrario, inicia ffmpeg utilizando la ruta completa al binario (por ejemplo, C:\ffmpeg\ffmpeg.exe en Windows o /opt/ffmpeg/ffmpeg en Linux).
  4. Ejecuta el código para convertir PowerPoint a video.

Este código Python muestra cómo convertir una presentación (que contiene una figura y dos efectos de animación) a un video:

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)

Efectos de Video

Puedes aplicar animaciones a objetos en las diapositivas y usar transiciones entre diapositivas.

Las animaciones y transiciones hacen que las presentaciones sean más atractivas e interesantes, y hacen lo mismo para los videos. Agreguemos otra diapositiva y una transición al código de la presentación anterior:

import aspose.pydrawing as drawing
# Agrega una forma de sonrisa y la anima
# ...
# Agrega una nueva diapositiva y transición animada

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 también soporta animaciones para textos. Así que animamos párrafos en objetos, que aparecerán uno tras otro (con el retraso configurado en un segundo):

import aspose.slides as slides
import subprocess

with slides.Presentation() as presentation:
    # Agrega texto y animaciones
    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 para .NET"))
    para2 = slides.Paragraph()
    para2.portions.add(slides.Portion("convertir presentación de PowerPoint con texto a video"))

    para3 = slides.Paragraph()
    para3.portions.add(slides.Portion("párrafo por párrafo"))
    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

    # Convierte cuadros a video
    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)

Clases de Conversión de Video

Para permitirte realizar tareas de conversión de PowerPoint a video, Aspose.Slides proporciona el PresentationEnumerableAnimationsGenerator.

PresentationEnumerableAnimationsGenerator te permite establecer el tamaño del cuadro para el video (que se creará más tarde) y el valor de FPS (cuadros por segundo) a través de su constructor. Si pasas una instancia de la presentación, se usará Presentation.SlideSize.

Para que todas las animaciones en una presentación se reproduzcan a la vez, usa el método PresentationEnumerableAnimationsGenerator.enumerate_frames. Este método toma una colección de diapositivas y permite obtener secuencialmente EnumerableFrameArgs. Luego, EnumerableFrameArgs.get_frame() te permite obtener el cuadro de video:

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

Luego, los cuadros generados pueden ser compilados para producir un video. Consulta la sección Convertir PowerPoint a Video.

Animaciones y Efectos Soportados

Entrada:

Tipo de Animación Aspose.Slides PowerPoint
Aparecer no soportado soportado
Desvanecer soportado soportado
Entrar Volando soportado soportado
Entrar Flotando soportado soportado
Dividir soportado soportado
Barrer soportado soportado
Forma soportado soportado
Rueda soportado soportado
Barras Aleatorias soportado soportado
Crecer y Girar no soportado soportado
Acercar soportado soportado
Girar soportado soportado
Rebotar soportado soportado

Énfasis:

Tipo de Animación Aspose.Slides PowerPoint
Pulso no soportado soportado
Pulso de Color no soportado soportado
Balancearse soportado soportado
Girar soportado soportado
Crecer/Disminuir no soportado soportado
Desaturar no soportado soportado
Oscurecer no soportado soportado
Aclarar no soportado soportado
Transparencia no soportado soportado
Color de Objeto no soportado soportado
Color Complementario no soportado soportado
Color de Línea no soportado soportado
Color de Relleno no soportado soportado

Salida:

Tipo de Animación Aspose.Slides PowerPoint
Desaparecer no soportado soportado
Desvanecer soportado soportado
Salir Volando soportado soportado
Salir Flotando soportado soportado
Dividir soportado soportado
Barrer soportado soportado
Forma soportado soportado
Barras Aleatorias soportado soportado
Disminuir y Girar no soportado soportado
Acercar soportado soportado
Girar soportado soportado
Rebotar soportado soportado

Rutas de Movimiento:

Tipo de Animación Aspose.Slides PowerPoint
Líneas soportado soportado
Arcos soportado soportado
Giros soportado soportado
Formas soportado soportado
Bucles soportado soportado
Ruta Personalizada soportado soportado

Efectos de Transición de Diapositiva Soportados

Sutil:

Tipo de Animación Aspose.Slides PowerPoint
Morph no soportado soportado
Desvanecer soportado soportado
Empujar soportado soportado
Tirar soportado soportado
Barrer soportado soportado
Dividir soportado soportado
Revelar no soportado soportado
Barras Aleatorias soportado soportado
Forma no soportado soportado
Descubrir no soportado soportado
Cubrir soportado soportado
Destello soportado soportado
Tiras soportado soportado

Emocionante:

Tipo de Animación Aspose.Slides PowerPoint
Caer no soportado soportado
Drapeado no soportado soportado
Cortinas no soportado soportado
Viento no soportado soportado
Prestigio no soportado soportado
Fractura no soportado soportado
Aplastar no soportado soportado
Desprender no soportado soportado
Papel Curl no soportado soportado
Avión no soportado soportado
Origami no soportado soportado
Disolver soportado soportado
Damas no soportado soportado
Persianas no soportado soportado
Reloj soportado soportado
Olas no soportado soportado
Panal no soportado soportado
Brillo no soportado soportado
Vórtice no soportado soportado
Desgarrar no soportado soportado
Cambiar no soportado soportado
Girar no soportado soportado
Galería no soportado soportado
Cubo no soportado soportado
Puertas no soportado soportado
Caja no soportado soportado
Peina no soportado soportado
Acercar soportado soportado
Aleatorio no soportado soportado

Contenido Dinámico:

Tipo de Animación Aspose.Slides PowerPoint
Paneo no soportado soportado
Rueda de la fortuna soportado soportado
Transportador no soportado soportado
Rotar no soportado soportado
Órbita no soportado soportado
Volar a través soportado soportado