本技能用于录制讲解 Drupal 模块安装与配置过程的旁白视频:先阅读模块代码梳理真实步骤,写出分镜供用户确认,再按“节拍”(一句旁白对应一个动作)逐段录制,生成旁白配音、对齐音画、叠加字幕条,最后拼接为一条 1920x1080 的 MP4。
录制在 ddev 网页容器的虚拟 X 显示(:99)中完成,分工为:agent-browser 负责导航、读取无障碍树、定位元素并返回坐标、等待页面状态;xdotool 负责移动真实 X11 指针、点击与逐键输入,因此 ffmpeg -f x11grab 能原生捕获光标动作。浏览器中无法展示的终端命令以静态命令卡片呈现,不录制终端。
硬性要求:运行中的 ddev 项目(站点 URL、管理员用户名与密码);容器内的 agent-browser、awaz(ElevenLabs TTS 封装,需 ELEVENLABS_API_KEY 环境变量,密钥须具备 Text to Speech 与 Voices 读取权限)、ffmpeg、Xvfb、xdotool、chromium,以及字幕条所用 Montserrat TTF。先运行 preflight.sh 完成检查与安装。
用法上从 ddev 项目根目录执行,并先设置 export TUT_SLUG=<教程标识>。主要脚本:preflight.sh 安装准备;session.sh 启动/停止 Xvfb 与 kiosk Chromium;record-beat.sh 控制单节拍的 x11grab 录制;record-slide.sh 录概念幻灯片;ui.sh 驱动浏览器查找、滚动、移动点击与输入;hands.sh 在容器内执行原始光标与输入;make-card.sh 生成命令卡片;trim.sh、check-beat.sh、audit.sh、fade-audio.sh、deadair.sh 用于修剪与检查;finish-beat.sh、finish-all.sh、concat.sh 完成补齐、混音、字幕与拼接。构建产物保存在 .tutorial-build/<slug>/ 下,不会删除,便于按反馈重做。
限制与注意事项:每个节拍应为一句旁白加一个动作,不要整场一镜到底;节拍编号建议以 10 为步长留空以便插入;场景结尾列表应从分镜推导而非硬编码。ddev exec 会额外经过一层 shell 解析,含引号、$()、$var、逗号等内容易被静默破坏,应保持单条简单命令、把控制流放在宿主机,复杂输入使用 type64 的 base64 路径,drush 复杂表达式改用 php:script。kiosk 浏览器访问 drupal.org 可能返回 HTTP 406,此时可改用本地 HTML 幻灯片并在字幕保留项目 URL。其他价格、平台等信息资料未提供。