Token导航 LogoToken导航TokenDH.com
开发操作浏览器clawhub未标认证来源可访问clear审计提醒

product-demo-videoproduct demo video 浏览器

Agent Skill

用于辅助视频生成、动画合成、脚本化剪辑或 Remotion 等视频项目开发。它适合让 Agent 组织镜头、生成素材说明、维护合成代码或排查渲染问题。使用时需要确认分辨率、时长、素材路径和导出格式;涉及外部素材、人物肖像或商业发布时,应先核对版权授权和内容审核要求。

总安装

9,720

周安装

401

GitHub Stars

公开资料未说明

下载量

3,176
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:product-demo-video(product demo video 浏览器)
来源仓库:https://github.com/xiazai77/product-demo-video
安装命令:
openclaw skills install product-demo-video
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install product-demo-video

简介

自动生成带画外音与浏览器交互的产品演示视频。

  • 基于 Puppeteer 实现零成本自动化视频合成。
  • 支持文本叠加与真实页面操作录制。product-demo-video 属于开发类 Skill,可作为该场景下的辅助能力补充。
  • 安装命令:openclaw skills install product-demo-video。
  • 需确认分辨率、时长及素材路径,避免渲染失败。

SKILL.md

name
product-demo-video
description
>
Triggers
demo video", "product video", "record demo", "launch video", "walkthrough video",

Product Demo Video Creator

Create polished demo videos with voiceover and text overlays — fully automated, zero cost.

Stack

ToolPurposeInstall
PuppeteerHeadless browser recordingnpm i -g puppeteer
edge-ttsMicrosoft Neural TTS (free)pip3 install edge-tts
PIL/PillowText overlays on framespip3 install Pillow (usually pre-installed)
FFmpegVideo encodingStatic build from johnvansickle.com or package manager
ChromiumBrowser engineSystem package

Quick Start

  1. Install dependencies (see scripts/install-deps.sh)
  2. Define scenes in scripts/record-demo.mjs (copy template, customize)
  3. Run: node scripts/record-demo.mjs
  4. Output: MP4 with voiceover + text overlays

Workflow

Define Scenes → Generate Voiceover → Record Browser → Add Text Overlays → Compile Video
     ↓               ↓                    ↓                  ↓                ↓
  scenes[]      edge-tts MP3      Puppeteer frames     PIL drawtext      FFmpeg concat

Step 1: Define Scenes

Each scene has: id, title, subtitle, narration, url, type, actions.

{
  id: 'json',
  title: 'JSON Formatter',
  subtitle: 'Paste messy JSON, get formatted output',
  narration: 'Paste any messy JSON and get it formatted instantly.',
  url: 'https://example.com/json-formatter/',
  type: 'tool',       // 'intro' | 'tool' | 'outro'
  actions: async (page) => {
    await reactSetValue(page, 'textarea', '{"key":"value"}');
    await wait(1000);
    await clickButton(page, ['Format']);
    await wait(2000);
  }
}

Step 2: Scene Types and Overlay Positioning

TypeOverlay PositionUse For
introBottom bar (centered, large title)Opening scene with product name
toolBottom bar (left-aligned title + right badge)Individual feature demos
outroBottom bar (centered CTA)Closing with call-to-action

Critical: Use bottom bar, not top bar — top overlays conflict with website navigation.

Step 3: React App Interaction

React controlled components ignore direct .value assignment. Use reactSetValue():

async function reactSetValue(page, selector, value) {
  await page.evaluate((sel, val) => {
    const el = document.querySelector(sel);
    const setter = Object.getOwnPropertyDescriptor(
      el.tagName === 'TEXTAREA'
        ? window.HTMLTextAreaElement.prototype
        : window.HTMLInputElement.prototype, 'value'
    )?.set;
    if (setter) setter.call(el, val);
    else el.value = val;
    el.dispatchEvent(new Event('input', { bubbles: true }));
    el.dispatchEvent(new Event('change', { bubbles: true }));
  }, selector, value);
}

Step 4: Voiceover

edge-tts --voice en-US-AndrewNeural --rate=+5% --text "Your narration" --write-media output.mp3

Recommended voices:

  • en-US-AndrewNeural — Male, warm, confident (best for product demos)
  • en-US-AriaNeural — Female, positive, confident
  • en-US-BrianNeural — Male, approachable, casual

Step 5: Text Overlays

PIL adds text to frames. Key design rules:

  • Solid dark background (alpha ≥ 230) — semi-transparent looks cheap
  • Green accent line (2px) separating bar from content
  • "100% Client-Side" or equivalent badge in green (#4ade80)
  • Font: Noto Sans Bold for titles, Regular for subtitles

Step 6: Video Compilation

# Frames to video per scene
ffmpeg -framerate 6 -i frames/frame_%05d.png -c:v libx264 -preset slow -crf 20 -pix_fmt yuv420p -r 24 scene.mp4

# Add audio
ffmpeg -i scene.mp4 -i narration.mp3 -c:v copy -c:a aac -b:a 128k -shortest scene_final.mp4

# Normalize for concatenation
ffmpeg -i scene_final.mp4 -c:v libx264 -preset slow -crf 20 -r 24 -c:a aac -b:a 128k -ar 44100 -ac 2 scene_norm.mp4

# Concatenate
ffmpeg -f concat -safe 0 -i concat.txt -c copy output.mp4

Timing Guidelines

ActionWait Time
Page load600ms
After setting input value800-1000ms
After clicking action button2000-2500ms
Between password generations1500ms
QR code / image rendering2500ms
Show final result2000-3000ms

Scene duration = max(8s, ceil(audio_duration) + 2s)

Capture Settings

SettingValueNotes
Resolution1280×720Standard for PH/social
Capture FPS6Balance quality/performance
Output FPS24Smooth playback
CRF20Good quality
JPEG qualityN/A (PNG frames)Lossless capture

Troubleshooting

  • Empty tool outputs: React apps need reactSetValue(), not .value =
  • Dropdown menus open: Click body after interactions to dismiss
  • FFmpeg "No such filter: drawtext": Static FFmpeg builds lack it — use PIL instead
  • edge-tts fails: Check network; it calls Microsoft servers
  • Chromium won't start: Need --no-sandbox --disable-gpu --disable-dev-shm-usage

References

  • references/demo-planning.md — Demo structure, pacing, what makes demos compelling
  • scripts/record-demo.mjs — Complete working template (customize scenes for your app)
  • scripts/overlay.py — PIL text overlay processor
  • scripts/install-deps.sh — One-command dependency setup

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

94.55%
按下载量换算3,003

安全审计

VirusTotal

可疑

ClawScan

通过

Static analysis

可疑

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills