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
- Usa el comando de instalación pip para agregar Aspose.Slides a tu proyecto:
- ejecuta
pip install Aspose.Slides==24.4.0
- ejecuta
- Descarga ffmpeg aquí o instala a través del administrador de paquetes.
- 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). - 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 | ![]() |
![]() |
Desvanecer | ![]() |
![]() |
Entrar Volando | ![]() |
![]() |
Entrar Flotando | ![]() |
![]() |
Dividir | ![]() |
![]() |
Barrer | ![]() |
![]() |
Forma | ![]() |
![]() |
Rueda | ![]() |
![]() |
Barras Aleatorias | ![]() |
![]() |
Crecer y Girar | ![]() |
![]() |
Acercar | ![]() |
![]() |
Girar | ![]() |
![]() |
Rebotar | ![]() |
![]() |
Énfasis:
Tipo de Animación | Aspose.Slides | PowerPoint |
---|---|---|
Pulso | ![]() |
![]() |
Pulso de Color | ![]() |
![]() |
Balancearse | ![]() |
![]() |
Girar | ![]() |
![]() |
Crecer/Disminuir | ![]() |
![]() |
Desaturar | ![]() |
![]() |
Oscurecer | ![]() |
![]() |
Aclarar | ![]() |
![]() |
Transparencia | ![]() |
![]() |
Color de Objeto | ![]() |
![]() |
Color Complementario | ![]() |
![]() |
Color de Línea | ![]() |
![]() |
Color de Relleno | ![]() |
![]() |
Salida:
Tipo de Animación | Aspose.Slides | PowerPoint |
---|---|---|
Desaparecer | ![]() |
![]() |
Desvanecer | ![]() |
![]() |
Salir Volando | ![]() |
![]() |
Salir Flotando | ![]() |
![]() |
Dividir | ![]() |
![]() |
Barrer | ![]() |
![]() |
Forma | ![]() |
![]() |
Barras Aleatorias | ![]() |
![]() |
Disminuir y Girar | ![]() |
![]() |
Acercar | ![]() |
![]() |
Girar | ![]() |
![]() |
Rebotar | ![]() |
![]() |
Rutas de Movimiento:
Tipo de Animación | Aspose.Slides | PowerPoint |
---|---|---|
Líneas | ![]() |
![]() |
Arcos | ![]() |
![]() |
Giros | ![]() |
![]() |
Formas | ![]() |
![]() |
Bucles | ![]() |
![]() |
Ruta Personalizada | ![]() |
![]() |
Efectos de Transición de Diapositiva Soportados
Sutil:
Tipo de Animación | Aspose.Slides | PowerPoint |
---|---|---|
Morph | ![]() |
![]() |
Desvanecer | ![]() |
![]() |
Empujar | ![]() |
![]() |
Tirar | ![]() |
![]() |
Barrer | ![]() |
![]() |
Dividir | ![]() |
![]() |
Revelar | ![]() |
![]() |
Barras Aleatorias | ![]() |
![]() |
Forma | ![]() |
![]() |
Descubrir | ![]() |
![]() |
Cubrir | ![]() |
![]() |
Destello | ![]() |
![]() |
Tiras | ![]() |
![]() |
Emocionante:
Tipo de Animación | Aspose.Slides | PowerPoint |
---|---|---|
Caer | ![]() |
![]() |
Drapeado | ![]() |
![]() |
Cortinas | ![]() |
![]() |
Viento | ![]() |
![]() |
Prestigio | ![]() |
![]() |
Fractura | ![]() |
![]() |
Aplastar | ![]() |
![]() |
Desprender | ![]() |
![]() |
Papel Curl | ![]() |
![]() |
Avión | ![]() |
![]() |
Origami | ![]() |
![]() |
Disolver | ![]() |
![]() |
Damas | ![]() |
![]() |
Persianas | ![]() |
![]() |
Reloj | ![]() |
![]() |
Olas | ![]() |
![]() |
Panal | ![]() |
![]() |
Brillo | ![]() |
![]() |
Vórtice | ![]() |
![]() |
Desgarrar | ![]() |
![]() |
Cambiar | ![]() |
![]() |
Girar | ![]() |
![]() |
Galería | ![]() |
![]() |
Cubo | ![]() |
![]() |
Puertas | ![]() |
![]() |
Caja | ![]() |
![]() |
Peina | ![]() |
![]() |
Acercar | ![]() |
![]() |
Aleatorio | ![]() |
![]() |
Contenido Dinámico:
Tipo de Animación | Aspose.Slides | PowerPoint |
---|---|---|
Paneo | ![]() |
![]() |
Rueda de la fortuna | ![]() |
![]() |
Transportador | ![]() |
![]() |
Rotar | ![]() |
![]() |
Órbita | ![]() |
![]() |
Volar a través | ![]() |
![]() |