fmt-video-production

FMT肠菌移植科普视频制作工具(视频合成+字幕+SRT+配音TTS+片头片尾)。将静态图片/动态视频素材合成为完整科普视频,支持中文字幕、旁白配音、片头片尾合成。触发词:合成视频/添加字幕/视频配音/制作FMT视频。

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "fmt-video-production" with this command: npx skills add zmy1006-sudo/fmt-video-production

FMT视频制作技能 v1.0

将图片素材合成为完整FMT科普视频 v1.0(2026-05-12):视频合成+字幕+配音+片头片尾全流程


工具说明

工具用途
gen_videos(T2V模式)根据Prompt生成片头/片尾视频片段
batch_text_to_video批量生成短视频片段(片头/过渡/片尾)
tts中文旁白配音(文字转语音)
exec(ffmpeg)视频合成、字幕烧录、音画同步

一、输入素材规范

标准输入格式

/workspace/fmt_pages/p[NN]_[主题]/
├── static.png          ← 4K静态插画(原图)
├── HD.mp4              ← 1080P动态视频(已有字幕)
└── metadata.json       ← 页面元数据

素材文件检查清单

[ ] static.png 存在且 ≥ 4K分辨率
[ ] HD.mp4 存在且为1080P/6秒
[ ] 有对应解说词文本(用于配音)
[ ] 有字幕内容(用于SRT)
[ ] 片头视频已生成(用于合成)

二、片头视频生成(可选,推荐使用)

片头规格:6秒,1080P,统一风格

生成命令(gen_videos T2V模式):

gen_videos({
  video_requests: [{
    duration: 6,
    output_file: "/workspace/fmt_video_intro.mp4",
    prompt: "A dramatic medical science intro animation. Soft blue-white gradient background. Large Chinese characters '肠菌移植' slowly fade in with golden glow effect. Animated medical icons (DNA helix, gut cross-section, bacteria) twinkle and rotate gently. Warm friendly atmosphere, high quality 1080P. Subtle light particles float upward. Duration 6 seconds, cinematic feel.",
    resolution: "1080P"
  }]
})

片头Prompt库(直接使用):

[片头A - 主题引入型]
A gentle fade-in opening. Blue gradient background. Chinese title "肠菌移植" in elegant white font fades in with golden glow. Animated gut icon rotates slowly. Medical bacteria icons float gently. Warm scientific atmosphere. 1080P, 6 seconds.

[片头B - 人物引入型]
A chibi doctor character waves and smiles at camera. City hospital background fades in. Title "肠菌移植科普" appears with soft bounce animation. Bubbles and light particles rise. Friendly educational tone. 1080P, 6 seconds.

三、中文配音(TTS)

工具tts — 直接生成音频,自动发送

配音生成命令

tts({ text: "[完整解说词,最多500字/段]" })

音频自动生成并发送,回复写 NO_REPLY

分段配音规则

  • 每段 ≤ 500字(中文),超过则自动分段
  • 段间停顿:约1秒(自动处理)
  • 语速:正常(1.0x)
  • 推荐每张图配一段(6秒视频对应约80-120字配音)

解说词编写规范

[原则]
- 每句话 ≤ 20字,便于TTS自然表达
- 医学术语加停顿:"肠 | 菌 | 移 | 植" 而非 "肠菌移植"
- 避免歧义读音:"重于" vs "终于" → 明确写"不同于"
- 数字读法:10% → "百分之十",3期 → "第三期"

[示例 - 页面1肠菌移植概述]
"欢迎来到肠菌移植科普。今天我们了解一种创新的治疗方法。它通过重建肠道菌群,帮助恢复健康。让我们开始吧。"

四、字幕文件制作(SRT格式)

SRT格式说明

序号
开始时间 --> 结束时间
字幕内容

(空行)

序号
开始时间 --> 结束时间
字幕内容

时间码格式时:分:秒,毫秒(例如 00:01:23,456

自动生成SRT脚本

/workspace/scripts/fmt_make_srt.py

#!/usr/bin/env python3
"""自动生成SRT字幕文件"""
import sys

def make_srt(time_start, time_end, index, text):
    """生成单条字幕"""
    def fmt(t):
        ms = int((t - int(t)) * 1000)
        s = int(t) % 60
        m = (int(t) // 60) % 60
        h = int(t) // 3600
        return f"{h:02d}:{m:02d}:{s:02d},{ms:03d}"
    return f"{index}\n{fmt(time_start)} --> {fmt(time_end)}\n{text}\n\n"

# 示例:为6秒视频生成3条字幕
# 每条字幕持续2秒
lines = [
    make_srt(0.0, 2.0, 1, "肠菌移植"),
    make_srt(2.0, 4.0, 2, "重建肠道健康"),
    make_srt(4.0, 6.0, 3, "苏州市立医院"),
]
srt_content = "".join(lines)
with open("/workspace/fmt_01.srt", "w", encoding="utf-8") as f:
    f.write(srt_content)
print("SRT生成完成: /workspace/fmt_01.srt")

实际SRT生成命令

# 方式A:用Python脚本生成
cd /workspace
python3 -c "
def fmt(t):
    ms = int((t - int(t)) * 1000)
    s = int(t) % 60
    m = (int(t) // 60) % 60
    h = int(t) // 3600
    return f'{h:02d}:{m:02d}:{s:02d},{ms:03d}'

subtitle_lines = [
    (0.0, 2.0, '欢迎了解肠菌移植'),
    (2.0, 4.0, '重建肠道微生态平衡'),
    (4.0, 6.0, '苏州市立医院肠菌移植医学中心'),
]

with open('/workspace/fmt_s01.srt', 'w', encoding='utf-8') as f:
    for i, (s, e, text) in enumerate(subtitle_lines, 1):
        f.write(f'{i}\n{fmt(s)} --> {fmt(e)}\n{text}\n\n')
print('Done')
"

五、ffmpeg视频合成命令

检查ffmpeg是否可用

ffmpeg -version 2>&1 | head -1
  • 输出版本号 → 可用
  • command not found → 切换备选方案(见降级策略)

场景1:视频+字幕合成(推荐)

ffmpeg -i /workspace/fmt_pages/p01_肠菌移植概述/HD.mp4 \
  -vf "subtitles=/workspace/fmt_s01.srt:force_style='FontName=Noto Sans CJK SC,FontSize=36,PrimaryColour=\&HFFFFFF,Outline=2,Bold=1'" \
  -c:v libx264 -preset fast -crf 23 \
  -c:a copy \
  /workspace/fmt_pages/p01_肠菌移植概述/final.mp4

⚠️ 若视频已有内置音轨,使用 -c:a aac -b:a 192k 重新编码

场景2:视频+配音合成(音画同步)

ffmpeg -i /workspace/fmt_pages/p01_肠菌移植概述/HD.mp4 \
  -i /workspace/fmt_01_audio.mp3 \
  -c:v copy -c:a aac -b:a 192k \
  -shortest \
  /workspace/fmt_pages/p01_肠菌移植概述/final_with_audio.mp4

场景3:视频+字幕+配音全合成

ffmpeg -i /workspace/fmt_pages/p01_肠菌移植概述/HD.mp4 \
  -i /workspace/fmt_01_audio.mp3 \
  -vf "subtitles=/workspace/fmt_s01.srt:force_style='FontName=Noto Sans CJK SC,FontSize=36,PrimaryColour=\&HFFFFFF,Outline=2,Bold=1'" \
  -c:v libx264 -preset fast -crf 23 \
  -c:a aac -b:a 192k \
  -shortest \
  /workspace/fmt_pages/p01_肠菌移植概述/final_complete.mp4

场景4:片头+内容视频拼接

# 先检查片头和内容视频时长
ffprobe -v error -show_entries format=duration -of csv=p=0 /workspace/fmt_video_intro.mp4
ffprobe -v error -show_entries format=duration -of csv=p=0 /workspace/fmt_pages/p01_肠菌移植概述/final_complete.mp4

# 拼接(需先安装mkvmerge或用ffmpeg concat)
ffmpeg -f concat -safe 0 -i <(echo "file '/workspace/fmt_video_intro.mp4'"
echo "file '/workspace/fmt_pages/p01_肠菌移植概述/final_complete.mp4'") \
  -c copy \
  /workspace/fmt_pages/p01_肠菌移植概述/full_with_intro.mp4

字幕样式自定义

force_style 参数说明:
FontName=Noto Sans CJK SC     ← 字体(系统需有Noto Sans CJK)
FontSize=36                   ← 字号(1080P推荐36-48)
PrimaryColour=&HFFFFFF        ← 文字颜色(白色&HFFFFFF,十六进制)
Outline=2                     ← 描边宽度(2-3px防遮挡)
Bold=1                        ← 加粗
Alignment=2                   ← 底部居中(2=下方中间)
MarginV=20                    ← 距底部边距(px)

六、工作流程(完整版)

标准流程:单页视频制作

[输入] 用户提供:页面编号+主题+解说词文本+字幕内容

Step 1: 检查素材
  检查 HD.mp4 是否存在
  检查 static.png 是否存在

Step 2: 生成/确认配音
  调用 tts({ text: "[解说词]" })
  音频保存路径:/workspace/fmt_pages/p[N]_[主题]/narration.mp3
  回复 NO_REPLY

Step 3: 生成SRT字幕
  用Python脚本自动生成SRT文件
  保存路径:/workspace/fmt_pages/p[N]_[主题]/subtitle.srt

Step 4: 视频合成(ffmpeg可用时)
  执行 ffmpeg 命令合并视频+字幕+配音
  输出:/workspace/fmt_pages/p[N]_[主题]/final_complete.mp4

Step 5: 检查输出
  核查:时长、分辨率、音画同步、字幕显示
  检查通过 → 上传CDN → 飞书发送
  检查失败 → 降级处理(见降级策略)

Step 6: 发送结果
  发送视频CDN链接 + 告知内容

批量流程:多页视频制作

[输入] 用户提供:页面列表 [p1,p2,...pN] + 每页解说词

Step 0: 生成片头(仅1次)
  gen_videos → 片头视频 → /workspace/fmt_video_intro.mp4

Step 1: 批量生成配音
  遍历页面列表,逐个调用 tts
  每页生成 narration.mp3

Step 2: 批量生成字幕
  遍历页面列表,逐个生成 SRT 文件

Step 3: 批量视频合成
  遍历页面列表,逐个执行 ffmpeg 全合成

Step 4: 片头拼接
  遍历页面,逐个拼接片头 + 内容视频

Step 5: 汇总报告
  生成汇总报告,包含所有视频CDN链接

七、降级策略

降级1:ffmpeg不可用

触发:ffmpeg -version 返回 command not found
降级动作:
  ① 尝试安装:apt-get install ffmpeg(或通过其他包管理器)
  ② 若无法安装:仅输出"视频+字幕"或"视频+配音"分开交付
     - 视频文件(HD.mp4)
     - 音频文件(narration.mp3)
     - 字幕文件(subtitle.srt)
     告知用户:用本地视频编辑软件(如剪映/PR)自行合成

降级2:字幕字体缺失

触发:烧录字幕时字体显示异常(方块/乱码)
降级动作:
  ① 更换字体为系统可用字体(用Python Pillow预渲染文字为图片叠加)
  ② 或生成ASS格式字幕(ffmpeg对ASS格式字体支持更好)
  ③ 最终方案:输出 .srt 文件,用户在视频软件中导入

降级3:音画不同步

触发:配音时长与视频时长差异 > 0.5秒
降级动作:
  ① 计算时长差,调整ffmpeg参数
  ② 若配音偏短:用 -af "apad=whole_dur=6" 填充静音
  ③ 若配音偏长:用 -t 6 截断
  ④ 或告知用户视频为静音版,字幕版可自行添加配音

八、输出规范

类型路径说明
完整视频fmt_pages/p[NN]/final_complete.mp4含字幕+配音
仅视频+字幕fmt_pages/p[NN]/final_video_subtitle.mp4无配音
配音音频fmt_pages/p[NN]/narration.mp3TTS音频
字幕文件fmt_pages/p[NN]/subtitle.srtSRT格式
片头视频/workspace/fmt_video_intro.mp4仅生成1次
全流程视频fmt_pages/p[NN]/full_with_intro.mp4含片头

九、常用命令速查

# 检查ffmpeg
ffmpeg -version 2>&1 | head -1

# 视频+字幕(最常用)
ffmpeg -i input.mp4 -vf "subtitles=subtitle.srt:force_style='FontName=Noto Sans CJK SC,FontSize=36,PrimaryColour=&HFFFFFF,Outline=2'" -c:v libx264 -preset fast -crf 23 -c:a copy output.mp4

# 视频+配音
ffmpeg -i input.mp4 -i audio.mp3 -c:v copy -c:a aac -b:a 192k -shortest output.mp4

# 视频+字幕+配音
ffmpeg -i input.mp4 -i audio.mp3 -vf "subtitles=subtitle.srt" -c:v libx264 -preset fast -crf 23 -c:a aac -b:a 192k -shortest output.mp4

# 拼接片头
ffmpeg -f concat -safe 0 -i <(echo "file 'intro.mp4'"; echo "file 'content.mp4'") -c copy output.mp4

更新于:2026-05-12 v1.0 — 视频合成+字幕+配音+片头片尾全流程

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

PPT to Video Generator

Convert PowerPoint presentations into narrated videos with Chinese voiceover, synchronized subtitles, and page-by-page audio sync. Use this skill when the us...

Registry SourceRecently Updated
00Profile unavailable
General

FMT高清动态图生成器 v6.0

FMT肠菌移植科普高清动态图生成器(插画版+4K静态图+1080P动态视频+批量模式+风格一致)。生成配套数字手绘插画静态PNG(4K超清),并转化为高清晰度1080P动态视频。风格活泼生动,适合科普教育。触发词:生成FMT动态图 / 生成高清动态 / 插画转高清视频。

Registry SourceRecently Updated
00Profile unavailable
General

URL to Video Generator

Convert any website into a promotional video using Remotion + React. Use when the user wants to generate a video from a website URL, create a promo video, ma...

Registry SourceRecently Updated
00Profile unavailable
General

video

No summary provided by upstream source.

Repository SourceNeeds Review