WorldSonus 接进自己的剪辑流程 / 先把输入规格和输出格式定死

文章导读
把 WorldSonus 的配音产物直接交给剪辑软件,决定成败的通常不是音色调得多像,而是输入规格和输出格式有没有提前写成一份别人能照着执行的约定。建议先固定源素材的分辨率、帧率和音轨条数,再用配置把产物的封装、采样率、声道固定下来;这两处都能用 ffprobe 这类命令当场验证。约定没有实际验证通过之前,不要开始批量跑片,否则返工会堆在成片阶段,那时改成本最高。
📋 目录
  1. 壹 先定输入:分辨率、帧率、音轨条数
  2. 贰 再定输出:封装格式、采样率、声道
  3. 叁 命名与目录规则要能一一对应
  4. 肆 用一条片子走完整条链路并记录返工点
  5. 伍 把约定写成可检查的清单
A A

把 WorldSonus 的配音产物直接交给剪辑软件,决定成败的通常不是音色调得多像,而是输入规格和输出格式有没有提前写成一份别人能照着执行的约定。建议先固定源素材的分辨率、帧率和音轨条数,再用配置把产物的封装、采样率、声道固定下来;这两处都能用 ffprobe 这类命令当场验证。约定没有实际验证通过之前,不要开始批量跑片,否则返工会堆在成片阶段,那时改成本最高。

可执行的顺序是:用输入规格表限制源素材规格,超规格的片子按“先拆轨再转码”或“直接转码”两类分别处理;用输出参数表把产物定成剪辑软件可直接导入的 PCM WAV;命名规则保证源文件到产物能一一对应;最后用一条真实片子走完整链路,把约定没覆盖到的返工点补回表里。凡是无法用配置、日志或命令验证的条目,都先不要写进约定,否则团队执行时只能靠猜。

先定输入:分辨率、帧率、音轨条数

输入约定的作用,是让同一条流水线不要同时接受几种规格的片子。下面这份表可以当成模板,把“约定值”一列换成团队实际在用的取值,“验证方式”一列尽量写成一条能复制执行的命令,这样新同事不需要问人也能自查。

项目约定值(示例,需按项目替换)验证方式不通过时的处理
分辨率1920×1080ffprobe 读 width/height先转码,再进流程
帧率25 或 23.976,二选一,全项目统一ffprobe 读 r_frame_rate先转码,不与音轨混处理
像素宽高比1:1ffprobe 读 sample_aspect_ratio先转码
音轨条数2(画面参考声 + 纯对白参考)ffprobe 列出所有 audio stream先拆轨,再决定是否转码
单条音轨内容一条轨只放一类内容人工听 10 秒开头先拆轨,不做混轨转码
源音频采样率48000 Hzffprobe 读 sample_rate随转码统一
时长上限单条素材不超过约定时长ffprobe 读 duration切段后重新编号

超规格素材到底先转码还是先拆轨,判断依据是“错在画面规格还是错在轨道结构”。只是分辨率、帧率不符的,先转码最省事,音轨可以 -c:a copy 原样保留;如果一条音轨里混了对白、音乐和参考声,先转码会把错误的轨道结构一起固化下来,这时必须先按 -map 拆轨,再对需要的轨道单独转码。

# 拆出第一条音轨并统一成单声道参考声
ffmpeg -i source.mp4 -map 0:a:0 -vn -ar 48000 -ac 1 -c:a pcm_s16le ref_dialog.wav

# 只改画面规格,音轨原样保留
ffmpeg -i source.mp4 -vf 'scale=-2:1080,fps=25' -c:v libx264 -crf 20 -c:a copy normalized.mp4

# 拆轨后再核对轨道数量与内容
ffprobe -v error -select_streams a -show_entries stream=index,codec_name,sample_rate,channels -of compact normalized.mp4

这三条命令建议直接写进接入说明,而不是留在个人笔记里。转码后的文件放在单独目录,不要覆盖原始素材;原始素材是后面排查返工时唯一能回退的依据。

WorldSonus 接进自己的剪辑流程 / 先把输入规格和输出格式定死

再定输出:封装格式、采样率、声道

输出格式的目标只有一个:让剪辑软件导入时不再弹转码提示。通常的做法是交付未压缩的 PCM WAV,采样率与剪辑序列一致,声道数按用途固定,元数据尽量清空,避免软件读到错误的起始时间码。

项目约定值(示例)边界说明
封装.wav输出目录只允许这一种封装,不混放 mp3
编码PCM(pcm_s24le 或 pcm_s16le)以剪辑软件实际能读的位深为准,先各试一条
采样率48000 Hz与源素材、序列保持一致,不一致会导致音调变化
声道单声道交付摆位交给剪辑侧处理,产物本身不预混
峰值余量交付前留出峰值余量,具体数值与混音环节约定不在生成环节做响度归一
元数据清空(-map_metadata -1)减少软件误读时间码的可能
# 生成产物:统一采样率、声道、位深,清空元数据
ffmpeg -i line_012_raw.wav -ar 48000 -ac 1 -c:a pcm_s24le -map_metadata -1 line_012_v01.wav

# 交付前自检
ffprobe -v error -show_entries stream=codec_name,sample_rate,channels,bits_per_raw_sample -of default=nw=1 line_012_v01.wav

导入验证不要只看“能播放”,要按下面几步在目标剪辑软件里实际走一遍:

  1. 新建一个与输入规格一致的测试序列,帧率与采样率都按约定设置。
  2. 把一条产物拖进素材箱,观察是否出现“正在转换”“正在符合”之类的后台任务提示。
  3. 放到时间轴上,确认音频块左下角显示的是约定采样率,而不是软件自动转换后的值。
  4. 播放并对齐一个明显的声音起点(如拍手或句首),检查是否出现整体偏移或音调偏高偏低。
  5. 把这条产物的属性面板截图,存进约定文档,作为“已按此参数导入成功”的记录。

命名与目录规则要能一一对应

批量处理时最容易出的问题不是文件坏了,而是对不上号:哪条产物对应哪句台词、哪个版本是当前采用的,只能靠人回忆。命名规则要满足两个条件:从文件名单读就能定位到台词,从源目录到输出目录的映射能被脚本自动算出。

WorldSonus 接进自己的剪辑流程 / 先把输入规格和输出格式定死

建议模板:{项目}_{集次}_{场次}_{台词ID}_{版本}.wav,例如 PRJ01_S01E02_SC03_L012_v01.wav。字段之间只用下划线,统一小写,不使用空格、中文标点和全角字符,避免命令行与批处理脚本匹配时出错。

源文件台词ID产物文件说明
PRJ01_S01E02_SC03_L012.txtL012PRJ01_S01E02_SC03_L012_v01.wav首次生成
PRJ01_S01E02_SC03_L012.txtL012PRJ01_S01E02_SC03_L012_v02.wav重录后新增,不覆盖 v01
PRJ01_S01E02_SC04_L012.txtL012PRJ01_S01E02_SC04_L012_v01.wav场次不同,ID 相同也不算冲突

冲突的处理原则是“版本只增不覆盖、冲突先阻断再人工确认”。同一个台词ID 下已有文件时,新产物递增版本号;如果检测到同名且版本号相同,脚本应当直接报错退出并打印冲突清单,而不是覆盖写入。下面这段检查可以放在批量任务开始前执行:

for f in out/*.wav; do
  base=$(basename "$f" .wav)
  case "$base" in
    *_[0-9][0-9]) ;;
    *) echo "命名不合规: $f" ;;
  esac
done
ls -1 out/*.wav | wc -l   # 与源台词清单条数比对

用一条片子走完整条链路并记录返工点

约定写完不等于覆盖完整。建议挑一条有代表性的片子,从源素材校验、拆轨或转码、生成、命名、导入到时间轴对齐完整走一遍,中途每遇到一次手工补救,就记一行到返工点表里。这张表是后续修改约定的唯一依据,比开会讨论有效。

WorldSonus 接进自己的剪辑流程 / 先把输入规格和输出格式定死
现象涉及参数需要补进约定的事项
导入后配音比画面长,需要手动裁单条时长、语速在输入约定里补时长上限与超长处理方式
多段产物音调偏高采样率 44.1k 与序列 48k 不一致输出统一 48k,并把 ffprobe 校验写进清单
素材箱里出现两条同名音频命名缺少场次字段命名模板增加场次,脚本按模板校验
想回退到上一版却找不到文件版本号被覆盖版本只增不覆盖,旧版本单独存放
部分文件导入报错输出目录混放 wav 与 mp3输出目录只允许一种封装
批处理数量比台词清单少文件名含空格或中文脚本只匹配白名单后缀并打印处理计数

每条记录写清复现用的源文件、出错位置和当时执行的命令输出,不要只写“导不进去”。记录得越具体,后面判断是流程问题还是单条素材问题就越快。

把约定写成可检查的清单

约定最终要以清单形式交付给团队,其他人照着勾选即可执行。下面这份清单可以直接改成表格,加一列“执行人”和一列“结果”。

  1. 所有源素材的 ffprobe 输出与输入规格表一致。
  2. 音轨条数与约定一致,且已标明哪条是对白参考声。
  3. 超规格素材已按“先拆轨”或“先转码”分别处理,原始素材保留未覆盖。
  4. 输出目录只包含约定的封装格式。
  5. 全量产物的采样率与声道经 ffprobe 校验与输出参数表一致。
  6. 所有产物文件名匹配命名正则,无空格、无中文、无全角字符。
  7. 源台词条数与产物条数一致,缺漏清单已输出。
  8. 同一台词ID 的版本号只增不覆盖,旧版本仍可查。
  9. 已在目标剪辑软件中导入一条产物,未出现转码或转换提示。
  10. 约定文档(配置、参数表、命名规则)已放到团队可访问位置,并写明维护人。

任一项不通过时的处理方式建议分两级。第 1、2、5、9 项属于阻断项,不通过就停止批量生成,先修素材或修配置;第 6、7、8 项属于可修正项,先改脚本或改名再重跑,不要手工挑文件绕过。凡是因为某一项不通过而临时改动的参数,都要补回返工点记录表,否则下一次换人执行时同样的问题会再出现一次。