网友回复
步骤:
1. 提取PPT中的文本和图片2. 使用Google Text-to-Speech生成语音3. 为每页PPT创建视频片段4. 自动排版图片和文字5. 合成最终视频
参考代码:
from pptx import Presentation from moviepy.editor import ImageClip, TextClip, CompositeVideoClip, concatenate_videoclips, AudioFileClip from gtts import gTTS import os import tempfile import shutil class PPTVideoGenerator: def __init__(self, ppt_path: str, output_path: str, slide_duration: float = 5.0, language: str = 'zh-cn', size: tuple = (1920, 1080)): """ 初始化PPT视频生成器 Args: ppt_path: PPT文件路径 output_path: 输出视频路径 slide_duration: 每页PPT的默认时长(秒) language: 文字转语音的语言 size: 视频尺寸 """ self.ppt_path = ppt_path self.output_path = output_path self.slide_duration = slide_duration self.language = language self.size = size self.temp_dir = tempfile.mkdtemp() def extract_slide_content(self, slide): """提取幻灯片中的文本和图片""" texts = [] images = [] # 提取文本 for shape in slide.shapes: if hasattr(shape, "text"): if shape.text.strip(): texts.append(shape.text.strip()) # 提取图片 if shape.shape_type == 13: # MSO_SHAPE_TYPE.PICTURE image_path = os.path.join(self.temp_dir, f"image_{len(images)}.png") with open(image_path, 'wb') as f: f.write(shape.image.blob) images.append(image_path) return texts, images def create_slide_video(self, texts: list, images: list, audio_pat...
点击查看剩余70%
acejs代码编辑器如何调用openai api实现选择代码修改与代码自动补全?
ace.js如何获取选择文本的开始和结束行数?
如何把qwen code cli或gemini cli的免费调用额度换成http api对外开放接口?
如何限制windows10电脑只能打开指定的程序?
python如何调用ai大模型实现web网页系统的功能测试并生成测试报告?
有没有免费进行web网站ai仿真人测试生成测试报告的mcp服务或api?
Context Engineering到底是啥,有什么用?
如何使用Google veo 3+高斯溅射(Gaussian Splatting)技术生成4d视频?
浏览器中如何实时调用摄像头扫描二维码?
grok4、gemini2.5pro、gpt5、claude4.1到底谁的编程能力更强一些?