福哥和他的朋友们 · 邹志鹏期 Post-Production Package · Craft Breakdown
TC 00:00:00:00 · 后期包装工艺拆解

从纯净版,到包装成片

《福哥和他的朋友们》邹志鹏期 · 后期包装全记录

一位义务支教近二十年的乡村教师。剪辑定稿的「纯净版」交出之后,包装开始: 22 张叙事卡片、925 条字幕、7 段福哥音色旁白、3 秒栏目片头、45.4 秒序章与一支新片尾—— 全部用 Python + ffmpeg 写成可复现的管线,把 29:24 的主片装配成 31:12 的定稿版。 这一页记录每一层包装怎么做、为什么这么做,以及还缺什么。

FINAL 31:12· 1920×1080 25p · 本站预览 720p· 片头 + 序章 + 四幕 + 尾声· 字幕 / 卡片 / 旁白 全装配
22
叙事卡片 · 1080p PNG
925
字幕事件 · 样式 A
7
克隆音色旁白 · 整段合成
5
交付文件 · 两种维度组合
Review · 审片意见
    SEC 01 · Upstream

    上游:纯净版怎么来的

    包装之前还有一条重剪管线——从 4.7 小时原始素材,到 31:29 的纯净版。

    原料是 191GB 广播级素材(三机位访谈 5 个 take + 约 110 段 B-roll)。重剪管线约 14 小时 (7-21 晚 → 7-22 午)跑完代理、转写、语义标注与十五版粗剪,交出包装管线的输入—— 1920×1080 · 31:29 的「纯净版」。以下每一步的产物都留在工作目录里,可复查。

    01 · PROXY
    四机位代理
    原始素材转 720p 代理(detail / fu / wide / zou 四路),工作集独立,原素材只读不动。
    02 · TRANSCRIBE
    四轮转写
    5 个 take 同期声逐轮重转(transcript → transcript4),sync_offsets.json 记录机位同步偏移。
    03 · SEMANTICS
    语义标注
    逐 take 语义标签多轮迭代(final → v2 → v4),访谈变成可检索、可纸面剪辑的素材。
    04 · ROUGHCUT
    十五版粗剪
    roughcut_v1–v15(720p):结构、节奏、取舍逐版逼近,每版整条渲出看整体。
    05 · MIX & QA
    混版与核验
    音频混版 v5 / v8 / v10 / v13;逐版转写回听核对(v*check),最终产出 31:29 纯净版。
    SEC 02 · Pipeline

    包装管线:六步装配

    不用剪辑软件的时间线——每一层包装都是脚本里的数据结构,可复现、可版本化。
    01 · CARDS
    卡片生成
    Pillow 模板直出 20 张 1080p PNG:章节卡、数据卡、人名条、金句卡。
    02 · SUBTITLES
    字幕生成
    ASR 底稿 → 纠错词典 → 样式 A 的 ASS,925 条事件一次产出。
    03 · VOICEOVER
    旁白合成
    克隆福哥音色 TTS 整段合成,whisper 听回切句,7 段落点。
    04 · RENDER
    正片渲染
    单条 filter_complex:字幕烧录 + 10 组卡片叠加 + NVENC。
    05 · PRO / END
    序章片尾
    3s 栏目片头 + 45.4s 序章四段式 + 60s 新片尾,同质感同响度。
    06 · MIX / VERIFY
    混音核验
    侧链闪避、两遍 loudnorm、抽帧检查与音轨时长校验。
    SEC 03 · Visual System

    视觉系统:卡片即叙事

    包装不只是美化——数据卡回答疑问,章节卡提出悬念,金句卡钉住情绪锚点。

    全套卡片由 gen_cards.py 用 Pillow 直接绘制:暖金黄 #D4AF37 取自栏目「福」字 logo, 纸色文字、细线双框、衬线标题。版式即品牌,页面亦沿用同一套语言。

    章节卡 PART 01
    章节卡 · PART 01「自讨苦吃 甘之如饴」—— 60% 压黑底上叠加,画面保持可见

    章节卡 · 套一版式

    五张卡:序章 + PART 01–04。版式四层信息——金色 PART 序号(字距拉宽)、 衬线大标题、金色短线、一行灰色「题眼」

    题眼让观众带着问题进入下一幕:PART 04 的题眼是「他也怀疑过自己 但从未停下」。

    卡片以 60% 压黑底叠加在画面上、alpha 淡入淡出 0.4s, 每章停留 3.2s——是段落缓冲,也是叙事标点。

    数据卡 100元
    数据卡 · PART 01 —— ≤100 元,他每月的全部个人开销
    数据卡 1万
    数据卡 · PART 01 —— 1 万+,他每年花在孩子们身上的钱
    数据卡 2000名
    数据卡 · PART 03 —— 2000+ 名,他直接教过的学生
    数据卡 2万元
    数据卡 · PART 04 —— 2 万元,阿里公益奖励,他又投入支教
    金句卡
    金句卡 · PART 04 —— 「付出就是种幸福」,衬线大字居中压黑
    支教经历卡实拍帧
    支教经历卡 · 常驻面板 + 五条经历逐条显现(103.3–136.08s,重制原片烧录段)
    人名条
    人名条 · 受访者首次出现时标注一次,此后不再打扰

    数据卡与人名条 · 落版规则

    数据卡落在左下象限:深色半透明面板 + 金色竖线锚定,一屏一数, 静态大数字——不做滚动动画,克制才可信。

    人名条同一锚点语言:姓名大字 + 身份小字 + 左侧金色竖线, 出现 6s,alpha 淡入淡出。

    所有卡片与字幕共用原片时间坐标系,落点写死在 render.py 的 OVERLAYS 表里,随时可改可重渲。

    SEC 04 · Subtitles

    字幕:925 条的规则与兜底

    模型转写只是底稿——真正的工艺在纠错词典、断行算法与克制强调。

    管线做了什么

    • ASR 逐句底稿 → 42 条分段覆盖 + 60 余条全局纠错词典 → 样式 A 的 ASS 文件,共 925 条事件。
    • 样式 A:微软雅黑 Bold 白字 + 半透明黑描边 + 柔影,\fad(200,150) 淡入淡出——调研验证白字黑边可见性最优。
    • 排版铁律:每行 ≤16 字、最多两行;双行按「下重金字塔」断行——下行不短于上行,split_two 在空格处评分选点。
    • 标点:逗号句号一律以空格代替,保留顿号、书名号、问号。

    规则与兜底

    • 纠错对照(词典示例):
      周老师邹老师 · 苹果楼拼多多 · 实质力量师资力量
      英体美音体美 · 风雪寺风穴寺 · 感染值橄榄枝
    • 误伤防护:「自教→支教」会误伤「亲自教」——先以 \x00 占位保护,替换完再还原。
    • 关键词暖金强调:#D4AF37 只给「100块 / 2000名 / 倒贴 / 傻子」这类金句词,克制使用,不用花字。
    • 抑制窗口:B-roll 遮盖段(48.44–53.04s)不压字幕;尾声固定文案段整段不加字幕。
    SEC 05 · Voiceover

    旁白:一次合成,七段落点

    音色统一靠「一次说完」,切分靠模型自己听回来。

    访谈主体段落一律不加旁白,保住对谈现场感。旁白只落在序章 6 句尾声引入 1 句, 承担设问、转折与时空跨越。全部 7 段已改用福哥克隆音色——由栏目创办人亲自「讲述」,叙事更贴身。

    旁白文案 福哥克隆音色 TTS 整段一次合成 whisper large-v3 词级时间戳切句 音频链 落点混入 · 侧链闪避

    生成与切分

    • 从成片同期声取福哥声音样本,在 TTS 平台克隆音色(speaker 挂载);7 句文案一次合成,音色从头统一到尾。
    • 合成音频再喂给 faster-whisper large-v3,按词级时间戳找回每句起止,切成 vo_p1–p6。
    • 逐段音频链:highpass 80Hz → deesser 去齿音 → 压缩 3:1 → 12kHz 搁架 −1.5dB → 微量 aecho 空间 → loudnorm −19 LUFS。
    • 尾声旁白落点 = 片头 3.04 + 序章 45.40 + 正片 1763.78 + 0.5 ≈ 1812.7s,以 sidechaincompress 侧链闪避把访谈声压下去再进入。

    混音关系

    • 旁白电平整体低于访谈对白主体,闪避参数 threshold 0.01 / ratio 10 / release 700ms——让得开、回得来。
    • 序章旁白垫在音乐床之上:音乐床复用正片片尾两段,volume 0.30 / 0.48 分层淡入。
    • 最终全片再过两遍法 loudnorm(I=-16 / TP=-1,linear),网络长视频响度标准。
    Symptom · 症状
    旁白一说完,全片失声
    第一版混音输出里,尾声旁白播完后,剩余部分的音轨整体消失。
    Cause · 根因
    侧链流 EOF 拉停全图
    sidechaincompress 的旁白输入流较短,到达 EOF 时把整个 filter 图提前终止,主音频随之中断。
    Fix · 修复
    apad 补静音 + 时长校验
    旁白流先 apad 补静音再进侧链;输出后强制校验——音轨与视频时长差 <0.5s 才放行。
    SEC 06 · Prologue

    序章:45.4 秒立住全片

    价值提问 → 现实矛盾 → 事实递进 → 片名落点。

    原片开头的旧蒙太奇与序章立意重复,整段弃用;26.88–29.92s 的芥末黄栏目卡则移到序章之前,成为 3 秒片头。 新序章由 build_prologue2.py 单独装配:四段结构、6 段福哥音色旁白落点、一条贯穿全序章的连续音乐床(帧级音量曲线随段落起伏)—— 与正片同一条滤镜、同一份响度测量,接缝听不出来。

    ① 价值提问
    黑底衬线设问卡,留足阅读时间;音乐 0.25 低吟
    0:00 – 0:08 · 8.0s
    ② 现实矛盾
    静默快剪 3 条 B-roll(洗衣 / 炊具 / 读写),无字幕只有旁白;音乐渐起
    0:08 – 0:17.1 · 9.1s
    ③ 事实递进
    三张透明文字层压动态压暗背景:不到100元 5.9s → 20年 5.2s → 6地 9.2s
    0:17.1 – 0:37.4 · 20.3s
    ④ 片名落点
    主题卡「邹志鹏 · 支教二十年」(邹特写压暗背景);音乐推满后渐出
    0:37.4 – 0:45.4 · 8.0s
    VO1
    VO2
    VO3
    VO4
    VO5
    VO6
    序章设问卡
    设问卡 ——「一个人,能为素不相识的孩子,付出到什么程度?」
    事实卡文字层 不到100元
    事实文字层(透明底)—— 压动态压暗 B-roll:不到100元
    事实卡文字层 6地
    事实文字层 —— 6 地:贵州 湖南 郏县 雷州 汝州 · 2000 多名学生
    序章主题卡
    主题卡「邹志鹏 · 支教二十年」—— 邹特写压暗背景(亮度 0.30 + 柔化),8 秒缓出接入正片
    SEC 07 · Render

    渲染:一条 filter_complex 装配主片

    29:27 主片,一条命令——每个落点都是数据,每次重渲都可复现。
    纯净版 m4v colortemperature 6000 轻暖 遮盖窗 ×2 支教经历卡 ×6 层 ass 字幕烧录 overlay ×10 卡片落版 yuv420p · bt709 h264_nvenc cq20

    四处修复

    • 片头迁移:原片 0–29.92s(蒙太奇 + 栏目片头)整段跳过;其中 26.88–29.92s 芥末黄栏目卡剪出,移到序章之前作 3 秒片头。
    • 静止照片遮盖:48.44–53.04s 为定格照片无内容,用课堂动态 B-roll 遮盖(eq 近似校色,窗口内同步抑制字幕)。
    • 烧录字幕段替换:1428–1453.4s 残留原片烧录字幕,用 Take3 同机位素片逐镜头替换(6 个镜头,素材偏移 1135.91s 对齐)。
    • 旧尾声替换:1793.70s 起的旧尾声由新片尾替代——build_ending.py 单独装配,与正片同质感同响度。

    落版与音频

    • 10 组 overlay + 支教经历卡 6 层全部带 alpha 淡入淡出(0.4–0.5s);经历卡常驻面板置于字幕层之下,五条经历逐条显现;数据卡、人名条、金句卡以 crop 取版落位。
    • 字幕与卡片共用原片时间坐标系;试渲染 --ss 任意片段时,ASS 与落点自动平移。
    • 音频:afade 入场 + loudnorm 两遍法(I=-16 / TP=-1 / LRA=11,linear)→ AAC 320k / 48kHz。
    • 诚实注明:方案中的 vignette、胶片颗粒、章节进度角标,当前未进滤镜链——见「还缺什么」。
    SEC 08 · Evidence

    凭证据做

    每一步改动都抽帧看结果——文字卡叠印位置、淡入淡出边界、画面质感,凭证据迭代。

    以下为定稿片尾段 1812–1872s 的逐点抽帧(尾声文字卡叠生活画面 + 钢琴配乐段), 核验卡片与画面的叠印关系与出入场节奏。

    片尾抽帧 1814s
    TC 00:30:14 · 文字卡叠印
    片尾抽帧 1822s
    TC 00:30:22 · 文字卡叠印
    片尾抽帧 1830s
    TC 00:30:30 · 段落转换
    片尾抽帧 1838s
    TC 00:30:38 · 数据段
    片尾抽帧 1846s
    TC 00:30:46 · 转折段
    片尾抽帧 1854s
    TC 00:30:54 · 回升段
    片尾抽帧 1862s
    TC 00:31:02 · 收束段
    片尾抽帧 1868s
    TC 00:31:08 · 收束段
    片尾抽帧 1871.5s
    TC 00:31:11 · 尾帧
    SEC 09 · Deliverables

    交付清单

    五个成品文件——按「旁白」与「序章」两个维度组合,按需取用。
    文件日期大小说明
    邹志鹏-包装版-含尾声旁白-序章版.mp42026-07-251.3 GB 定稿:片头 + 序章 + 正片 + 尾声旁白(31:12,本站 720p 预览版由此转码)
    邹志鹏-包装版-无旁白-序章版.mp42026-07-251.3 GB 定稿 · 无旁白备选
    邹志鹏-包装版-含尾声旁白.mp42026-07-232.1 GB 旧版:正片 + 尾声旁白(无序章、无片头)
    邹志鹏-包装版-无旁白.mp42026-07-232.1 GB 旧版:纯净正片(无序章、无片头、无旁白)
    邹志鹏-包装版.mp42026-07-251.2 GB 渲染母版(混音视频源)

    成片规格:1920×1080 · 25p · H.264 High + AAC 320k · 响度 −16 LUFS / TP −1。 公网站点仅随附 720p 网页预览版,以上大文件不做公开分发。

    SEC 10 · What's Missing

    我觉得还缺什么

    当前版本完整可交付,但离「打磨到底」还有距离——以下按优先级排。
    精华版短片未做
    方案承诺完整版之外剪一支 3–5 分钟传播短片(钩子 + 高光 + 结尾思考),适配短视频平台引流。
    交付物
    vignette / 颗粒 / 进度角标未进链
    柔暗角、时域胶片颗粒、章节进度角标在方案与脚本注释中均有设计,当前滤镜链尚未实施。
    画面质感
    四处章节过渡旁白未加
    方案设计 6 处旁白点位,实际落了序章 6 段 + 尾声 1 段;PART 01–04 的过渡仍由章节卡独自承担。
    旁白
    栏目片头较朴素
    目前直接沿用原片 3 秒芥末黄卡,未做品牌动效设计;若栏目方需要,可单独设计一支片头动画。
    片头
    字幕待完整通读
    925 条已过规则校对与纠错词典,但转写量大,边角错字需人工通读一遍终版字幕。
    字幕
    序章 B-roll 为近似校色
    静默快剪段用 eq 经验值近似 Rec.709,与正片 S-Log3→709 的精度不同;正式版宜走同一 LUT。
    调色
    SEC 11 · Versions

    版本演进

    方案先行,每一版都可复现、可回退。
    V1.0 · 07-21
    包装方案定稿:字幕样式 A、章节卡套一、调色强度确认。
    V1.2 · 07-21
    方案补旁白设计:6 处点位 + 文风规范(克制、书面但有温度)。
    07-21 → 07-22
    重剪管线:四机位代理 + 四轮转写 + 语义标注,15 版粗剪产出 31:29 纯净版。
    07-23
    卡片 / 字幕 / 人名条全套生成;首版渲染,四个交付变体出炉。
    07-25 · 晚
    序章 v2 四段重构 + 6 段旁白;新片尾替换;修复混音 EOF 失声;重渲染序章版。
    07-25 · 定稿
    栏目片头迁移(3s)+ 序章重排 45.4s 与连续音乐床 + 全部旁白改福哥克隆音色 + 支教经历卡重制(常驻面板逐条显现)+ 烧录字幕段素片替换 → 31:12 定稿