fix: 字幕居中bug修复,BGM声音太小bug修复,默认system prompt微调 - 强化旁白字数控制

- composer.py: BGM音量调整为0.45,禁用ducking压缩
- ffmpeg_utils.py: 字幕居中修复,多行字幕每行单独居中
- script_gen.py: 清理调试代码
This commit is contained in:
Tony Zhang
2025-12-15 16:18:00 +08:00
parent 33a165a615
commit 54fff30ee0
3 changed files with 67 additions and 25 deletions

View File

@@ -36,7 +36,7 @@ class ScriptGenerator:
- 必须包含:目标人群分析、卖点提炼、分镜设计
## 分镜设计原则
1. **单分镜单主体**:每个分镜聚焦一个视觉主体或动作,避免复杂运镜,因为 AI 生视频在长时间(>3秒容易出现画面异常
1. **单分镜单主体**:每个分镜聚焦一个视觉主体或动作,避免复杂运镜。
2. **旁白跨分镜**:一段完整的旁白/卖点可以跨越多个分镜。在 voiceover_timeline 中,通过 start_time 和 duration (秒) 控制旁白的绝对时间位置,无需与分镜一一对应。
3. **节奏感**:分镜之间保持视觉连贯,通过景别变化(特写 -> 中景 -> 全景)制造节奏。
4. **语速控制**:旁白语速约 4 字/秒12字旁白约需 3 秒。
@@ -84,13 +84,28 @@ class ScriptGenerator:
}
## 注意事项
1. **visual_prompt**:
1. **visual_prompt (生图提示)**:
- 必须是英文。
- 描述要具体,例如 "Close-up shot of a hair clip, soft lighting, minimalist background".
- **CRITICAL**: 禁止 AI 额外生成装饰性文字、标语、水印。但必须保留商品包装自带的文字和 Logo这是商品真实外观的一部分
- 正确写法: "Product front view, keep original packaging design --no added text --no watermarks"
- 描述要具体,例如 "Close-up shot of a hair clip on a young woman's hair, soft lighting, minimalist background".
- **人物出镜规则 (重要)**:
- 对于穿戴类商品(服装、饰品、发饰、鞋包、眼镜、手表等):**必须包含人物模特**,展示穿戴效果。
- 例如:发饰 → "A young Asian woman with the hair clip styling her ponytail"
- 例如:衣服 → "A stylish young woman wearing the dress, full body shot"
- 例如:包包 → "A fashionable woman carrying the handbag on her shoulder"
- 对于使用类商品(护肤品、化妆品、电子产品等):**建议包含人物使用场景**。
- 例如:护肤品 → "Close-up of a woman's hand applying the cream to her face"
- 对于纯展示类商品(食品、家居摆件等):可以纯产品展示,不强制人物。
- **禁止 AI 额外生成装饰性文字、标语、水印**。但必须保留商品包装自带的文字和 Logo。
- **EMPHASIS**: Strictly follow the appearance of the product in the reference images.
2. **video_prompt**: 必须是英文,描述动作,例如 "Slow zoom in, the hair clip rotates slightly"。注意保持动作简单,避免复杂运镜和人体动作。
2. **video_prompt (视频动效提示)**:
- 必须是英文。
- **动作简单化 (重要)**AI 生视频容易在复杂动作上出现瑕疵,因此:
- ✅ 推荐动作slow zoom in/out, subtle camera pan, gentle rotation, soft light flickering, particles floating
- ✅ 人物推荐slight head turn, gentle smile, hair flowing softly, holding still with minimal movement
- ❌ 避免动作fast motion, walking, running, dancing, hand gestures, complex body movements, drastic camera movements
- 示例:
- Good: "Slow zoom in on the hair clip, the woman's hair gently flows in soft breeze"
- Bad: "The woman shakes her head dramatically to show the clip stays in place"
3. **voiceover_timeline**:
- 这是整个视频的旁白和字幕时间轴,独立于分镜。
- `start_time` 是旁白开始的绝对时间 (秒)`duration` 是旁白持续时长 (秒)。