视频二创与换壳复刻工坊(video-reframe-studio)
一句话定位
用户丢给你一段视频,你跑完整二创流水线,最终交付:
- 1 篇公众号文章(已推送到「星瑶漫语」草稿箱)
- 2 段短视频(视频号版 + 抖音版,或 换壳对齐版 + 加长版)
- ≥5 个发布标签
- 多个吸睛标题
两种工作模式,按视频类型自动切换:
| 模式 | 适用场景 | 核心动作 |
|---|---|---|
| A · 二创洗稿 | 源视频有可转写的人声/口播/字幕(课程、访谈、生活分享) | 转写 → 原创改写文章+口播 → 配图+旁白+配乐成片 |
| B · 换壳复刻 | 源视频是要「模仿」的范本(想保留其美术风格/运镜/节奏) | 分析原片 → 仅替换人物/动物/背景 → 生成同调性原创视频 |
> 判断原则:如果视频有台词且你想复用其观点→ 模式 A;如果视频是纯画面/运镜范本、台词不重要、重点是视觉调性→ 模式 B。
环境依赖(SKILL 已自带脚本,运行前确认)
| 组件 | 用途 | 默认路径(可被环境变量/参数覆盖) |
|---|---|---|
| ffmpeg / ffprobe | 分析、拼接、缩放、混音、字幕 | ~/.workbuddy/binaries/node/versions/22.22.2-6/ffmpeg.exe(脚本会自动查找 PATH) |
| Python + cv2 | 去水印(OpenCV inpaint) | design venv:.../vibeknow-design-video/skills/design/scripts/.venv/Scripts/python.exe |
| Python + faster-whisper | 语音转写(ASR) | asr venv:~/.workbuddy/binaries/python/envs/asr/Scripts/python.exe |
| ImageGen / VideoGen | 关键帧配图、图生视频(真实动态) | 通过 DeferExecuteTool 调用 |
gzh-course-article-gen skill |
公众号文章 + 2 段口播 + 标签 + 标题 + 草稿箱推送 | 需自行安装并配置你自己的公众号账号(作者默认「星瑶漫语」),本 skill 的文章步骤直接复用它 |
脚本均通过 _find_ffmpeg() 自动定位 ffmpeg;cv2 / whisper 脚本请在对应 venv 的 python 下运行(SKILL.md 每步会注明用哪个解释器)。
通用输出目录
E:/3-书单视频/二创换壳-<YYYY-MM-DD>-<主题>/
每步产物都落在该目录下,便于回看与复用。
模式 A · 二创洗稿 工作流
1. 建目录 + 拷源片
mkdir -p "E:/3-书单视频/二创换壳-$(date +%F)-<主题>"
cp "<用户给的源视频>" "E:/3-书单视频/二创换壳-$(date +%F)-<主题>/src.mp4"
2. 语音转写(asr venv 的 python)
"<asr venv python>" "<SKILL>/scripts/transcribe.py" \
"E:/3-书单视频/二创换壳-$(date +%F)-<主题>/src.mp4" \
--out "E:/3-书单视频/二创换壳-$(date +%F)-<主题>/transcript.txt" \
--model small --lang zh
产出 transcript.txt(中文全文)。
3. 读转写、定主题与文章骨架
用 Read 读 transcript.txt,提炼 1 个核心主题 + 3 个知识点 + 1 句金句。
4. 产出公众号文章 + 2 段口播 + 标签 + 标题(复用 gzh skill)
> 调用 gzh-course-article-gen skill:把 transcript.txt 当作「视频口播内容素材」喂给它,说明是"视频二创、去带货、去讲师署名、保留干货",让它生成文章+封面+配图+2段口播+≥5标签+标题并自动推草稿箱。本 skill 不重复造轮子。
5. 生成 2 段短视频
- 配图:用 ImageGen 生成 4–6 张与文案匹配的竖版画面(
prompts/imagegen_keyframe.txt模板),写明「无文字、无水印、9:16」。 - 旁白:把文章/口播文案用
edge-tts女声(zh-CN-XiaoxiaoNeural)合成 mp3;或复用 gzh 产出的口播音频。 - 配乐:
"<design venv python>" "<SKILL>/scripts/make_music.py" --duration 75 --out music.wav - 组装:
- 视频号版(60–75s,叙事从容):
assemble.py --clips 图1.mp4 图2.mp4 ... --voice 旁白.mp3 --music music.wav --srt 字幕.srt --target-w 1080 --target-h 1920 --out 视频号版.mp4 - 抖音版(≤45s,钩子前置、节奏更快):取前 3–4 张图 + 快切 + 强 BGM,同上换
--out 抖音版.mp4 - 生成的图生视频片段若带 AI 水印,先用
clean_video.py去水印再进 assemble。
6. 合规自检 + 汇报(见文末清单)
模式 B · 换壳复刻 工作流
1. 拷贝参考片 + 出分析报告
"<design venv python>" "<SKILL>/scripts/analyze_ref.py" \
"E:/3-书单视频/二创换壳-$(date +%F)-<主题>/ref.mp4" \
--out "E:/3-书单视频/二创换壳-$(date +%F)-<主题>/analysis"
产出 analysis/report.json(画幅、时长、帧率、场景切分、建议替换元素)+ analysis/frames/*.png(逐秒抽帧)。
2. 目视原片、确定新主体方案
用 Read 看 analysis/frames/*.png,判断:原片人物/动物/背景分别是什么、运镜如何、光影如何。
给用户 3 个换壳方案(不同主体组合),让其选 1 个。例:
> 原片=小女孩+橘猫+月光阶梯 → 方案①小男孩+柯基+阳光公园 ②老奶奶+山羊+麦田 ③宇航员+机械狗+星轨
3. 生成关键帧(ImageGen,遵循 prompts/imagegen_keyframe.txt)
- 生成 首帧 + 1–2 张关键互动帧,严格保持原片视角、光影、构图、画幅比例,仅换内容。
- 必须写明「无文字、无水印」。生成后若带"AI生成"水印,用
watermark_remove.py --mode inpaint(来自 gzh skill)无缝修复,禁止裁切/留白块。
4. 生成真实动态(VideoGen 图生视频)
按 prompts/videogen_motion.txt 模板,从首帧(必要时接关键帧)生成 10s 真实动作短片:
- 静态镜头 + 主体微动(与原片"静态镜头+主体微动"节奏一致)。
- 时长不足时用多段拼接(每段 10s)→ 3 段交叉淡化 ≈ 30s+。
- 导出到工作目录。
5. 去水印
"<design venv python>" "<SKILL>/scripts/clean_video.py" \
"生成片段.mp4" "clean_片段.mp4"
默认去除右下 + 左上 AI 水印(区域自适应),可用 --br-w/--br-h/--tl-w/--tl-h 微调。
6. 组装「复刻对齐版」(保留原片画幅/时长/节奏)
"<任意 python>" "<SKILL>/scripts/assemble.py" \
--clips clean1.mp4 clean2.mp4 ... \
--target-w <原片宽> --target-h <原片高> \
--music music.wav --mode concat --out 复刻版.mp4
--mode concat 保证总时长 = 各片段之和(与原片节奏对齐)。
7. 额外产出「加长版」(第 2 段短视频,30s+,9:16)
用 make_music.py 生成 ~33s 配乐,把 3 段干净片段按 9:16(1080×1920)组装,可加字幕:
"<任意 python>" "<SKILL>/scripts/assemble.py" \
--clips clean1.mp4 clean2.mp4 clean3.mp4 \
--target-w 1080 --target-h 1920 --music music.wav \
--srt 字幕.srt --mode concat --out 加长版.mp4
8. 公众号文章(基于新主体情绪原创)
不转写(原片无台词可复用)。由 agent 基于新主体视觉情绪(如"温暖陪伴/松弛感")原创一篇,再调用 gzh-course-article-gen skill 产出文章+封面+配图+2段口播+标签+标题并推草稿箱。
9. 合规自检 + 汇报
脚本清单(均位于 <SKILL>/scripts/)
| 脚本 | 解释器 | 功能 |
|---|---|---|
analyze_ref.py |
任意 python | 抽帧 + 场景切分 + JSON 报告(画幅/时长/运镜建议) |
transcribe.py |
asr venv python | faster-whisper 转写中文 → txt |
clean_video.py |
design venv python | OpenCV inpaint 去 AI/平台水印(参数化区域) |
make_music.py |
任意 python | 纯 Python 合成原创背景音乐 WAV(无版权风险) |
assemble.py |
任意 python | ffmpeg 拼接 + 缩放 + 配乐/旁白混音 + 字幕 + 双平台预设 |
> 文章/封面/草稿箱推送由 gzh-course-article-gen skill 负责,本 skill 不重复实现。
ImageGen / VideoGen 提示词模板
关键帧(ImageGen,竖版 1024×1536,写实/插画按原片调性)
见 prompts/imagegen_keyframe.txt:固定「视角 / 光影 / 构图」三件套,只换「主体+动物+背景」,务必带 no text, no watermark。
图生视频(VideoGen,image→video,10s)
见 prompts/videogen_motion.txt:描述连续动作 + 运镜 + 静态镜头 + 一致角色,negative 必带 static, frozen, no movement, text, watermark, distorted face, extra limbs。
合规与原创性底线(重要,交付前必查)
- 去水印:所有 AI/平台生成片段必须
clean_video.py去水印后再用。 - 原创配乐:只用
make_music.py合成,禁用任何有版权风险的现成 BGM。 - 改写而非搬运(模式 A):文章/口播须重述+原创观点+重组结构,不得逐字照抄原片台词;改写度建议 >70%。
- 仅保留镜头语言(模式 B):人物/动物/背景全部替换为全新内容,仅模仿美术风格、运镜方式、剪辑节奏——不构成复制。
- 敏感词过滤:复用 gzh skill 的带货词/敏感词回读校验;不在视频叠加违规文字。
- 原创声明:发布时勾选平台「原创」标识;标签/标题不蹭未授权 IP。
- 画质合规:导出 H.264 + AAC,竖屏 9:16 用 1080×1920,横屏按原比例;不丢帧、不变形。
发布标签与吸睛标题规范
- 标签:每篇/每条视频 ≥5 个,从「主题词 + 情绪词 + 平台热词 + 人设词」四维取。示例:
#治愈系 #陪伴是最长情的告白 #慢生活 #原创动画 #星瑶漫语 #AI二创。 - 标题:给 3–5 个候选,每个 ≤21 中文字(公众号标题字节上限),必须含数字 / 反差 / 情绪钩子之一。例:
- 「陪你爬月亮的人,找到了吗」
- 「30 秒看完,我被这只橘猫治愈了」
- 「别急着划走,这趟月光阶梯只升不降」
- 视频号/抖音版标题可更短更炸(≤15 字 + emoji),与公众号标题形成矩阵。
收尾
- 向用户汇报:两段视频路径/规格、文章 media_id、标签与标题候选、合规自检结果、额度消耗(ImageGen/VideoGen credits)。
- 追加工作日志到当前会话工作区
.workbuddy/memory/YYYY-MM-DD.md。