招聘视频标准全流程(文案两份 → 视频+配音字幕 → 合成)
2026-10-21 定版 SOP,之后所有招聘视频一律按此流程,勿跳步。
数据驱动 Remotion 模板:深蓝+金政府风,9 幕,1080×1920@30fps,自带免版权 BGM。模板工程自含 node_modules。
模板位置
E:\workbuddy文案\remotion-projects\招聘视频模板\
├── src\data.ts ← 视频文案落点(每日唯一要改的文件)
├── scripts\render-today.mjs ← 渲染脚本(传参名勿带「招聘」二字,脚本自动加后缀)
├── public\bgm.mp3 ← BGM(可整体替换)
└── public\qrcode.jpg ← 二维码位(无则自动回退盾牌图标)
第1步:写两份文案(先文后画,文案是宪法)
A. 招聘视频用 · 九幕数据稿
从公告提炼:机构名、人数、待遇、对象分类、时间点、报名方式、落款。
- 铁律:联系方式绝不编造。公告没有的电话/网址/截止日期一律不写或改为行动引导。
- 逐幕规划见 references/data-ts-example.md(含完整可抄示例与常见变体)。
B. 专业字幕语音用 · 解说口播稿
- 总长 ≤60 秒;按 9 幕切分,每幕字数按 4.7 字/秒 预算(对应云健音色 rate+18%),逐幕卡字数。
- 口语化、钩子前置(前 3 秒「人群+数字」),全程只留 2-3 个记忆点,收尾给紧迫感。
- 保存为纯文本,每行一幕(供 dub_video.py 读取)。
- 电话号码如需朗读,改汉字数字(一八七九八七…);百分号改「三成/七成」更稳。
第2步:渲染视频
cd "E:\workbuddy文案\remotion-projects\招聘视频模板"
npm run render:today # 默认名
node scripts/render-today.mjs "磷化集团" # 同日多条用自定义名
成片自动落 E:\workbuddy文案\视频\<日期>-<名>招聘.mp4。渲染约 2-3 分钟,提前告知。
QA 抽帧(必做,渲染成功 ≠ 内容正确):python scripts/qa_frames.py <成片.mp4> 2 25 52 逐张目检开场/中段/片尾。
第3步:配音 + 字幕 + 合成(一条命令)
python <本技能目录>\scripts\dub_video.py <成片.mp4> <口播.txt> <输出.mp4> [--srt 字幕.srt]
脚本自动完成:按 data.ts 计算各幕时间槽 → edge-tts 云健男声逐幕合成 → atempo 对速(≤1.25 保持自然)→ 叠加 BGM 混音 → 生成/烧录底部字幕(无 --srt 时按口播文本自动断句生成)。
- 需联网,须在沙箱外运行;edge-tts 必须 pip install -U edge-tts(≥7.3.1,旧版必 403)。
- 音色默认 zh-CN-YunjianNeural(沉稳男声);备选 zh-CN-YunyangNeural(新闻腔)、zh-CN-XiaoxiaoNeural(女声)。
- 字幕铁坑:字幕文件必须脚本/heredoc 生成(UTF-8 无 BOM),Write 工具写的文件 libass 会报 Unable to open;数字前加空格设折点("贵州磷化集团 2026年公开招聘"),否则 "202|6" 拦腰断;一行 ≤11 字,超了用 SRT 多行手动分行。
第4步:QA(合成 ≠ 正确)
- 音频:
ffmpeg -ss <语音段> -t 3 -i 成片 -map 0:a -af volumedetect -f null -→ 人声段 mean ≈ -25dB,转场间隙 ≈ -48dB 为正常。 - 画面:qa_frames.py 抽 3-4 帧,确认底部字幕无拆字、无遮挡落款。
第5步:交付
- 成片在
E:\workbuddy文案\视频\(C 盘零留存铁律);文案稿在E:\workbuddy文案\文案脚本\。 - present_files 呈现 + 简要汇报改动点与 QA 结果。
第6步:记录
工作区 .workbuddy/memory/当日日期.md 追加日志(数据要点、QA 结论、新坑)。
踩坑备忘(勿重蹈)
- Remotion CLI 直调路径在包根目录
node_modules/@remotion/cli/remotion-cli.js(不在 bin/);render-today.mjs 已封装。 - TransitionSeries 在 remotion 4.0.536 报
getDurationInFramesof undefined → 模板用普通<Sequence>+SceneFade,勿改回。 - @remotion/bundler@4.0.536 依赖 React 19,勿降 18。
- Windows
npm install偶发 EBUSY → 重试;避免并发。 - 各幕时长公式(帧@30fps):S1=150 / S2=180 / S3=130+items×18 / S4=120+min(rows,8)×13 / S5=120+items×18 / S6=130+cards×22 / S7=120+items×16 / S8=130+cards×30 / S9=180。可用于预算口播与字幕时间码。
- icon 只能填内置名:shield globe calendar fileText mapPin users check checkCircle clock graduation chevron badge megaphone search book(没有 star!)
- 沙箱内 pip 可用;edge-tts 合成、skillhub publish 等联网命令须沙箱外执行。
参考工程
- 首个成品(移民局 2027 国考):
E:\workbuddy文案\remotion-projects\移民局2027国考\ - data.ts 完整示例:本技能
references/data-ts-example.md - 配音字幕标杆成品:
E:\workbuddy文案\视频\2026-10-21-磷化集团招聘-配音字幕版.mp4