Конвертация PowerPoint в Видео

Конвертировав вашу презентацию PowerPoint в видео, вы получите

  • Увеличение доступности: Все устройства (независимо от платформы) по умолчанию имеют встроенные видеоплееры, в отличие от приложений для открытия презентаций, поэтому пользователям легче открывать или воспроизводить видео.
  • Большее охват: С помощью видео вы можете достичь широкой аудитории и донести до нее информацию, которая в противном случае могла бы показаться скучной в презентации. Большинство опросов и статистики предполагают, что люди больше смотрят и потребляют видео, чем другие формы контента, и обычно предпочитают такой контент.

Конвертация PowerPoint в Видео с помощью Aspose.Slides

В Aspose.Slides 24.4 мы реализовали поддержку конвертации презентаций в видео.

  • Используйте Aspose.Slides для генерации набора кадров (из слайдов презентации), соответствующих определенному FPS (кадров в секунду)
  • Используйте стороннюю утилиту, такую как ffmpeg, для создания видео на основе кадров.

Конвертация PowerPoint в Видео

  1. Используйте команду pip install для добавления Aspose.Slides в ваш проект:
    • выполните 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:
    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)

Виде efekty

Вы можете применять анимации к объектам на слайдах и использовать переходы между слайдами.

Анимации и переходы делают слайд-шоу более увлекательными и интересными — и они делают то же самое и для видео. Давайте добавим еще один слайд и переход к коду для предыдущей презентации:

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 также поддерживает анимацию текстов. Так что мы анимируем абзацы на объектах, которые будут появляться один за другим (с задержкой, установленной на одну секунду):

import aspose.slides as slides
import subprocess

with slides.Presentation() as presentation:
    # Добавляет текст и анимации
    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 для .NET"))
    para2 = slides.Paragraph()
    para2.portions.add(slides.Portion("конвертация презентации PowerPoint с текстом в видео"))

    para3 = slides.Paragraph()
    para3.portions.add(slides.Portion("абзац за абзацем"))
    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

    # Конвертирует кадры в видео
    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 предоставляет PresentationEnumerableAnimationsGenerator.

PresentationEnumerableAnimationsGenerator позволяет вам установить размер кадра для видео (которое будет создано позже) и значение FPS (кадров в секунду) через его конструктор. Если вы передаете экземпляр презентации, будет использоваться Presentation.SlideSize.

Чтобы заставить все анимации в презентации воспроизводиться одновременно, используйте метод PresentationEnumerableAnimationsGenerator.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 в Видео.

Поддерживаемые Анимации и Эффекты

Входные:

Тип Анимации Aspose.Slides PowerPoint
Появление не поддерживается поддерживается
Затухание поддерживается поддерживается
Влет поддерживается поддерживается
Плавный Влет поддерживается поддерживается
Разделение поддерживается поддерживается
Стирание поддерживается поддерживается
Фигура поддерживается поддерживается
Колесо поддерживается поддерживается
Случайные Полосы поддерживается поддерживается
Увеличение и Поворот не поддерживается поддерживается
Масштабирование поддерживается поддерживается
Поворот поддерживается поддерживается
Упругость поддерживается поддерживается

Усиление:

Тип Анимации Aspose.Slides PowerPoint
Пульсация не поддерживается поддерживается
Цветовая Пульсация не поддерживается поддерживается
Качение поддерживается поддерживается
Вращение поддерживается поддерживается
Увеличение/Уменьшение не поддерживается поддерживается
Десатурация не поддерживается поддерживается
Потемнение не поддерживается поддерживается
Осветление не поддерживается поддерживается
Прозрачность не поддерживается поддерживается
Цвет Объекта не поддерживается поддерживается
Дополнительный Цвет не поддерживается поддерживается
Цвет Линии не поддерживается поддерживается
Цвет Заполнения не поддерживается поддерживается

Выход:

Тип Анимации Aspose.Slides PowerPoint
Исчезление не поддерживается поддерживается
Затухание поддерживается поддерживается
Улетающий Эффект поддерживается поддерживается
Плавный Улет поддерживается поддерживается
Разделение поддерживается поддерживается
Стирание поддерживается поддерживается
Фигура поддерживается поддерживается
Случайные Полосы поддерживается поддерживается
Уменьшение и Поворот не поддерживается поддерживается
Масштабирование поддерживается поддерживается
Поворот поддерживается поддерживается
Упругость поддерживается поддерживается

Движущиеся Пути:

Тип Анимации Aspose.Slides PowerPoint
Линии поддерживается поддерживается
Арки поддерживается поддерживается
Повороты поддерживается поддерживается
Формы поддерживается поддерживается
Петли поддерживается поддерживается
Пользовательская Дорога поддерживается поддерживается

Поддерживаемые Эффекты Перехода Слайдов

Субтитры:

Тип Анимации Aspose.Slides PowerPoint
Морф не поддерживается поддерживается
Затухание поддерживается поддерживается
Толчок поддерживается поддерживается
Тянущий Эффект поддерживается поддерживается
Стирание поддерживается поддерживается
Разделение поддерживается поддерживается
Раскрытие не поддерживается поддерживается
Случайные Полосы поддерживается поддерживается
Фигура не поддерживается поддерживается
Открытие не поддерживается поддерживается
Закрытие поддерживается поддерживается
Вспышка поддерживается поддерживается
Полосы поддерживается поддерживается

Захватывающие:

Тип Анимации Aspose.Slides PowerPoint
Падение не поддерживается поддерживается
Драпировка не поддерживается поддерживается
Занавес не поддерживается поддерживается
Ветер не поддерживается поддерживается
Престиж не поддерживается поддерживается
Фрактура не поддерживается поддерживается
Давление не поддерживается поддерживается
Сдергивание не поддерживается поддерживается
Сгибание Страницы не поддерживается поддерживается
Самолет не поддерживается поддерживается
Оригами не поддерживается поддерживается
Растворение поддерживается поддерживается
Шашечница не поддерживается поддерживается
Заслон не поддерживается поддерживается
Часы поддерживается поддерживается
Рябь не поддерживается поддерживается
Сот не поддерживается поддерживается
Сверкание не поддерживается поддерживается
Вихрь не поддерживается поддерживается
Резка не поддерживается поддерживается
Переключение не поддерживается поддерживается
Переворот не поддерживается поддерживается
Галерея не поддерживается поддерживается
Куб не поддерживается поддерживается
Двери не поддерживается поддерживается
Коробка не поддерживается поддерживается
Гребень не поддерживается поддерживается
Масштабирование поддерживается поддерживается
Случайный не поддерживается поддерживается

Динамическое Содержимое:

Тип Анимации Aspose.Slides PowerPoint
Панорама не поддерживается поддерживается
Колесо Обозрения поддерживается поддерживается
Конвейер не поддерживается поддерживается
Вращение не поддерживается поддерживается
Орбита не поддерживается поддерживается
Полет поддерживается поддерживается