S

report-presentation

report-presentation

已认证
AI v1.0.0 · 小杨
下载 ZIP
📥 下载 304 次 📦 4.9KB 📅 2026-05-25

report-presentation

功能: 一键生成主题报告、对应的 MP3 音频、使用本地 Whisper base 模型生成带时间戳的 SRT 字幕、将报告拆分为 HTML 幻灯片、渲染为 PNG 序列并用 FFmpeg 合成带字幕的 MP4 视频,最后通过 upload.py 上传并返回 HTTP 链接。

关键技术:

  • baogaozc:生成不少于 500 字的纯文字报告并合成 MP3(默认使用 Edge TTS)。
  • openai-whisper:本地执行 whisper <audio>.mp3 --model base --output_format srt --output_dir .,确保使用 base 模型(不依赖网络)。
  • frontend-slides(或 ppt-generator):将报告文本按自然段落切分为幻灯片页面,生成 slides.html
  • inject-timestamps.js:读取生成的 output.srt,把每条字幕的 start/end 时间写入对应幻灯片的 data-start / data-end 属性,便于后续渲染。
  • render-slides.js(基于 Playwright):打开 slides.html,在每个时间戳点截取当前页面为 PNG,保存至 slide_imgs/
  • ffmpeg
  ffmpeg -r 1 -i slide_imgs/slide_%03d.png -i output.mp3 \
    -vf "subtitles=output.srt:force_style='Fontsize=24,PrimaryColour=&HFFFFFF&'" \
    -c:v libx264 -b:v 2M -c:a aac -b:a 192k -shortest presentation.mp4

将 PNG 序列、音频和字幕合成为 MP4。

  • upload.py(复用 latest-media-upload 中的脚本):上传 presentation.mp4 并返回 HTTP 链接。

使用方式:

report-presentation --topic "人工智能发展趋势"

脚本会自动完成以上全部步骤,并在终端输出:

  • report.txt(完整报告)
  • output.mp3(音频链接)
  • output.srt(字幕文件)
  • presentation.mp4(上传后的 HTTP 链接)

依赖:

  • baogaozc 已装在 ~/.openclaw/skills/baogaozc
  • openai-whisper(已安装 whisper CLI)
  • frontend-slidesppt-generator
  • playwright(Node.js)
  • ffmpeg
  • upload.py(从 latest-media-upload 复制)

实现提示:

  1. 运行 baogaozc 获取报告与 MP3;
  2. whisper--model base)生成 SRT;
  3. 调用 frontend-slides 生成 slides.html
  4. 通过 inject-timestamps.js 把 SRT 时间写入 HTML;
  5. render-slides.js 抓取 PNG;
  6. ffmpeg 合成 MP4;
  7. upload.py 上传并回显链接。

注意: Whisper 必须使用本地 base 模型(已下载至 C:\Users\Administrator\.cache\whisper\base.pt),确保不走网络。

💡 安装方法

下载 ZIP 解压到 skills/ 目录即可使用