🐦 第15章 实战案例:新闻视频自动生成器
📄 一句话概括

五段:拆稿、配图、写字、生成、合并。每一段都有一句「先算再动手」的理由。 六句里有一句 47 字,折 11.8 秒,一个人占四分之一个片子。它该拆,不该压。 6 个镜头 × 8 秒 = 48 秒,可口播只念 43.2 秒。画面比声音长 4.8 秒,尾部会空。

📝 本章和前面几章的关系

这一节对应书上五个小节:输入参数设置、图片内容处理、文字内容处理、视频生成、视频合并。 五段里最容易翻车的是最后一段(合并)。 因为它是唯一一处「两样东西要对齐」的地方——画面和声音的长度必须一致。 本沙箱没有视频生成插件,所以这一节算的是规格:几个镜头、每镜几秒、几张图、缺几张。 这些数就是真机上要传给插件的参数。

一、第一段:拆稿

示例稿 6 句,最短 19 字、最长 47 字、平均 28.8 字。 没有短到撑不住镜头的句子,但有一句长到该拆。 12 字以下的句子撑不住一个镜头,观众眼前一闪就过去了,得跟下一句并成一镜。 40 字以上的句子反过来:折 10 秒以上,一个静止画面撑不住那么久。 要么拆成两镜,要么压到 40 字以内。

压的办法是从后往前删修饰语,别动数字和主体。 「超过 100 万人次」不能压成「很多人次」,那是把信息删了,不是把话说短。

二、第二段:配图

镜 图库里有什么 怎么处理
1 飞机停机坪正面图 用图库
2 东航涂装特写 用图库
3 没有 兜底
4 客舱内景 用图库
5 没有 兜底
6 没有 兜底

图库里有 3 张,3 个镜头没图。没图的镜头不能跳过——跳过就少一句口播。 兜底有三档:用一张通用图、用纯色卡加标题、直接删这一镜。第一档最自然,第二档最省,第三档最伤内容。 这一章用第一档,但要保证通用图至少有 3 张不同角度的。 只有一张通用图,三个镜头长得一样,观众会看出是凑的。

三、第三段:写字

口播稿不是原文照抄。原文里有书名号、括号、数字单位,念出来都不顺。 四件事要做:把数字念法统一(「100 万」念「一百万」)、把括号里的补充说明挪进正文或删掉、 把长句断成短句、把书面语换成口语。 这一段改的是「念出来顺不顺」,不是「写得好不好」。 这两件事经常打架—— 写得漂亮的句子念出来往往拗口。

判断标准很土:念一遍,念到一半要换气的地方就是该断句的地方。

四、第四段:生成

项 怎么定 影响
逐镜头生成 6 个镜头各生成一段 6 次调用
每段时长 固定 8 秒 总长约 48 秒
分辨率 1080 × 1920 竖屏 横屏渠道要另出一版
转场 合并时加 生成时不管

逐镜头还是整条生成?逐镜头的理由是可改。 第 3 镜不满意,只重做第 3 镜。 整条生成的唯一好处是连贯,代价是改一个镜头要整条重来。按秒计费的场景下,这个代价很高。 竖屏还是横屏要在这一步定死。做完再改比例,等于整条重生成。

五、第五段:合并

6 个镜头 × 8 秒 = 48 秒。可口播只念了 43.2 秒。 画面比声音长 4.8 秒,最后会有几秒没人说话。 观众听到的是「说完了但画面还在动」,体感上像卡了。 两种修法:把每镜从 8 秒压到 7.2 秒,或者在合并时按音轨裁画面。

前一种更简单,但要求生成器支持非整数秒——很多只支持 5 秒、10 秒这种整数。 后一种更通用,但要多一步裁剪。 这一条是这一章最容易翻车的地方:先算,别等生成完才发现尾部空了。 算一次五秒钟, 重生成一次五分钟。 合并这一步只做两件事:按顺序拼、加转场。别在这一步做裁剪——裁剪要按音轨对齐,那是剪辑软件的事。

六、动手 Demo:五段:拆、配图、写字、生成、合并

五段各跑一遍:先看六句该不该动,再看图库缺几张,最后算总时长和口播差多少。 末尾算一次「画面比声音长」的差额,这是这一章最容易翻车的地方。

SENTS = [s for s in NEWS.replace(u'。', u'。|').split(u'|') if s.strip()]

total = len(SENTS) * 8.0                       # 48 秒
voice = sum(cnt(s) for s in SENTS) / RATE * 60 # 43.2 秒
gap   = total - voice                          # 4.8 秒

实跑输出:

--------------------------------------------------------------------
五段:拆、配图、写字、生成、合并
--------------------------------------------------------------------


  ① 拆稿:一句话一镜,再调
  --------------------------------------------------------------------

| 镜 | 这句话 | 字数 | 要不要动 |
|---|---|---|---|
| 1 | 国产大飞机 C919 今天完成第 100 … | 19 | — |
| 2 | 这架飞机交付给东方航空,将投入京沪航线运营。 | 20 | — |
| 3 | C919 是我国首款按照国际通行适航标准自… | 38 | — |
| 4 | 自 2023 年 5 月首次商业载客飞行以… | 47 | 该拆 |
| 5 | 制造商表示,今年计划交付 30 架,产能还… | 20 | — |
| 6 | 业内认为,随着交付量上升,国产大飞机的规模… | 29 | — |

  这份稿子 6 句,最短 19 字、最长 47 字,平均 28.8 字。
  没有短到撑不住镜头的句子(12 字以下),但有 1 句超过 40 字,该拆或该压。
  这一版的活是处理长句,不是并短句。
  反过来,要是稿子里有一句「这个消息很重要」——七个字,它就撑不住一个镜头,得跟下一句并成一镜,
  不然观众眼前一闪就过去了。

  ② 配图:三镜有图,三镜没有
  --------------------------------------------------------------------

| 镜 | 这句话 | 图库里有什么 | 怎么处理 |
|---|---|---|---|
| 1 | 国产大飞机 C919 今天完成第 10… | 飞机停机坪正面图 | 用图库 |
| 2 | 这架飞机交付给东方航空,将投入京沪航线… | 东航涂装特写 | 用图库 |
| 3 | C919 是我国首款按照国际通行适航标… | — | 兜底 |
| 4 | 自 2023 年 5 月首次商业载客飞… | 客舱内景 | 用图库 |
| 5 | 制造商表示,今年计划交付 30 架,产… | — | 兜底 |
| 6 | 业内认为,随着交付量上升,国产大飞机的… | — | 兜底 |

  图库里有 3 张,3 个镜头没图。没图的镜头不能跳过——跳过就少一句口播。
  兜底有三档:用一张通用图(飞机外观图)、用纯色卡加标题、直接删这一镜。
  第一档最自然,第二档最省,第三档最伤内容。这一章用第一档,但要保证通用图至少有 3 张不同角度的。

  ③ 写字:把正文压成口播稿
  --------------------------------------------------------------------

| 镜 | 原字数 | 念几秒 | 处理 |
|---:|---:|---:|---|
| 1 | 19 | 4.8 | 保留 |
| 2 | 20 | 5.0 | 保留 |
| 3 | 38 | 9.5 | 保留 |
| 4 | 47 | 11.8 | 压到 40 字 |
| 5 | 20 | 5.0 | 保留 |
| 6 | 29 | 7.2 | 保留 |

  超过 40 字的句子有 1 句(第 4 镜)。
  40 字约等于 10 秒,已经是一个镜头的上限。 再长就得拆,或者压。
  压的办法是从后往前删修饰语,别动数字和主体。「超过 100 万人次」不能压成「很多人次」。

  ④ 生成:每个镜头一段
  --------------------------------------------------------------------

| 项 | 怎么定 | 影响 |
|---|---|---|
| 逐镜头生成 | 6 个镜头各生成一段 | 6 次调用 |
| 每段时长 | 固定 8 秒 | 总长约 48 秒 |
| 分辨率 | 1080 × 1920 竖屏 | 横屏渠道要另出一版 |
| 转场 | 合并时加,生成时不管 | — |

  逐镜头生成还是整条生成?逐镜头的理由是可改。 第 3 镜不满意,只重做第 3 镜。
  整条生成的唯一好处是连贯,代价是改一个镜头要整条重来。按秒计费的场景下,这个代价很高。
  竖屏还是横屏要在这一步定死。做完再改比例,等于整条重生成。

  ⑤ 合并:算一遍才知道够不够长
  --------------------------------------------------------------------
  6 个镜头 × 8 秒 = 48 秒。
  但口播只念了 43.2 秒——画面比声音长 4.8 秒,最后会有几秒没人说话。
  两种修法:把每镜从 8 秒压到 7.2 秒,或者在合并时按音轨裁画面。
  这一条是这一章最容易翻车的地方:先算,别等生成完才发现尾部空了。
  ! 合并这一步只做两件事:按顺序拼、加转场。别在这一步做裁剪——裁剪要按音轨对齐,那是剪辑软件的事。

①六句 19 到 47 字,第 4 句 47 字该拆,没有短到该并的。 ②图库 3 张,3 镜没图,兜底有三档,这一章用通用图。 ③写字那段四件事:数字念法、括号、断句、书面语。 ④生成段:6 次调用、每段 8 秒、竖屏 1080×1920。 ⑤合并段:48 秒画面对 43.2 秒口播,差 4.8 秒,尾部会空。

30 秒实验

  1. 把你的稿子按句拆一遍,标出「该拆」和「该并」的。这一步用眼睛就能做,不用工具。
  2. 数一下你的图库里有多少张通用图。少于三张,兜底那几镜会长得一模一样。
  3. 念一遍口播稿,念到换气的地方画竖线。那些竖线就是该断句的地方。

常见误区

  1. 「压到 40 字以内就行。」压的是修饰语,不是信息。数字和主体不能动。
  2. 「没图的镜头跳过。」跳过就少一句口播,成片会缺内容。要用兜底图。
  3. 「合并时顺手裁一下。」裁剪要按音轨对齐,是剪辑软件的事,别在链里做。
自测三问(点开对答案) 1. 什么样的句子该拆,什么样的该并? —— 40 字以上该拆,12 字以下该并。一个撑不住那么久,一个撑不起一个镜头。 2. 图库里没图怎么办? —— 三档兜底:通用图、纯色卡加标题、删这一镜。通用图至少要三张不同角度。 3. 48 秒画面配 43.2 秒口播会怎样? —— 尾部几秒没人说话,体感像卡了。要压镜头时长或按音轨裁画面。

五段连起来了,下一节调试。先跑一个镜头,再跑三个,最后全量。

相关笔记