MS PowerPoint 允许将媒体元素添加到演示文稿中,例如音频和视频。视频帧用于插入来自本地文件或 Web 源的视频剪辑。在本文中,您将学习如何在 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 的信息。此外,您可以将您的查询发布到我们的 论坛。
也可以看看
- 在 Python 中创建 PowerPoint 文件
- 在 Python 中将 PPTX 转换为 PDF
- 在 Python 中将 PPT 转换为 PNG
- PPT/PPTX 到 Python 中的 HTML
- 用 Python 在 PowerPoint PPT 中添加水印
信息:您可能需要查看 Aspose FREE PowerPoint to Video 转换器,因为此服务允许您将演示文稿转换为令人惊叹且引人入胜的视频。