使用 Python 在 PowerPoint 中嵌入視頻幀

MS PowerPoint 允許將媒體元素添加到演示文稿中,例如音頻和視頻。視頻幀用於插入來自本地文件或網絡資源的視頻剪輯。在本文中,您將學習如何使用 Python 在 PowerPoint PPT 或 PPTX 中添加視頻幀。我們還將演示如何從 YouTube 等網絡資源中嵌入視頻,以及如何從 PPT 中提取視頻。

在PowerPoint PPT中添加視頻幀的Python庫

要在 PowerPoint PPT/PPTX 中添加視頻幀,我們將使用 Aspose.Slides for Python via .NET。該庫提供了一個完整的包來創建和操作 PowerPoint 演示文稿。您可以使用以下 pip 命令從 PyPI 安裝它。

> pip install aspose.slides

在 Python 中將視頻幀添加到 PowerPoint PPT

您可以從本地存儲或網絡資源(例如 YouTube)添加視頻。以下部分借助代碼示例演示了這兩種情況。

從本地文件插入視頻

以下是在 Python 中將視頻幀添加到 PowerPoint PPT 的步驟。

  • 首先,加載 PPT/PPTX 文件或使用 Presentation 類創建一個新文件。
  • 然後,獲取所需幻燈片的參考。
  • 使用 Presentation.videos.addvideo() 方法將視頻添加到視頻集合中並獲取其引用。
  • 使用 Slide.shapes.addvideoframe() 方法將視頻幀添加到幻燈片並獲取其引用。
  • 設置視頻的播放模式和音量。
  • 最後,使用 Presentation.save(string, SaveFormat) 方法保存演示文稿。

以下代碼示例展示瞭如何使用 Python 在 PowerPoint PPT 中嵌入視頻。

import aspose.slides as slides

# 負載演示
with slides.Presentation("presentation.pptx") as presentation:
    # 選擇幻燈片
    slide = presentation.slides[0]

    # 加載視頻文件
    with open("Wildlife.mp4", "rb") as in_file:
        # 將視頻添加到演示文稿
        vid = presentation.videos.add_video(in_file)

        # 添加視頻幀
        vf = slide.shapes.add_video_frame(50, 150, 300, 350, vid)

        # 將視頻設置為視頻幀
        vf.embedded_video = vid

        # 設置視頻的播放模式和音量
        vf.play_mode = slides.VideoPlayModePreset.AUTO
        vf.volume = slides.AudioVolumeMode.LOUD

    # 保存演示文稿
    presentation.save("add-video-frame.pptx", slides.export.SaveFormat.PPTX)

從 Web 源將視頻嵌入到 PowerPoint PPT 中

您還可以從 Web 源在 PowerPoint PPT 中添加視頻。為了演示,讓我們用 Python 將 YouTube 視頻嵌入到 PowerPoint PPT 中。

  • 首先,加載 PPT/PPTX 文件或使用 Presentation 類創建一個新文件。
  • 然後,獲取所需幻燈片的參考。
  • 使用 Slide.shapes.addvideoframe() 方法從 URL 添加 YouTube 視頻並獲取其參考。
  • 設置視頻縮略圖。
  • 最後,使用 Presentation.save(string, SaveFormat) 方法保存演示文稿。

以下代碼示例展示瞭如何使用 Python 將 YouTube 視頻嵌入到 PowerPoint PPT 中。

import aspose.slides as slides
from urllib.request import urlopen

# 負載演示
with slides.Presentation("presentation.pptx") as presentation:
    #add video frame
    videoFrame = presentation.slides[0].shapes.add_video_frame(10, 10, 427, 240, "https://www.youtube.com/embed/s5JbfQZ5Cc0")
    videoFrame.play_mode = slides.VideoPlayModePreset.AUTO

    # 加載縮略圖
    thumbnail_uri = "http://img.youtube.com/vi/s5JbfQZ5Cc0/hqdefault.jpg"
    f = urlopen(thumbnail_uri)
    videoFrame.picture_format.picture.image = presentation.images.add_image(f.read())

    # 保存演示文稿
    presentation.save("add-video-frame-from-web.pptx", slides.export.SaveFormat.PPTX)

用 Python 從 PowerPoint 演示文稿中提取視頻

當您想要提取添加到 PowerPoint 演示文稿的視頻時,可能會出現這種情況。以下是實現此目的的步驟。

  • 首先,使用 Presentation 類加載 PPT/PPTX 文件。
  • 然後,循環瀏覽 Presentation.slides 集合中的幻燈片。
  • 對於每張幻燈片,循環遍歷其具有的形狀集合。
  • 如果 shape 是 VideoFrame,則提取並保存嵌入的視頻。

以下代碼示例展示瞭如何使用 Python 從 PowerPoint PPT 中提取視頻。

import aspose.slides as slides

# 負載演示
with slides.Presentation("presentation.pptx") as presentation:

    # 循環播放幻燈片
   for slide in presentation.slides:

        # 遍歷形狀
       for shape in slide.shapes:

            # 檢查形狀的類型
            if type(shape) is slides.VideoFrame:

                # 獲取內容類型
                content_type = shape.embedded_video.content_type

                # 獲取視頻數據
                buffer = shape.embedded_video.binary_data

                # 保存視頻
                with open("extracted-video." + content_type[content_type.rfind('/') + 1:len(content_type)], "wb") as stream:
                    stream.write(buffer)

獲得免費許可證

您可以通過.NET 使用 Aspose.Slides for Python,沒有評估限制,只需獲得臨時許可

結論

在本文中,您學習瞭如何使用 Python 將視頻幀添加到 PowerPoint PPT/PPTX。我們已經介紹瞭如何從文件或 YouTube 等網絡資源中嵌入視頻。此外,您還了解瞭如何以編程方式從演示文稿中提取視頻。此外,您可以訪問 文檔 來探索更多關於 Aspose.Slides for Python 的信息。此外,您可以將您的問題發佈到我們的論壇

也可以看看

信息:您可能想查看 Aspose 免費 PowerPoint 到視頻 轉換器,因為此服務允許您將演示文稿轉換為令人驚嘆且引人入勝的視頻。