feat: 日语转写(翻译前归档)也作为产物放到视频旁
翻译前的日语转写只有中间态,重跑字幕或回看译文时无据可查;把它按语言归档到 视频旁,与中文译文、双目字幕并列。 - `learn-translate` 的 `final_outputs` 增加 `ja_srt: asr.srt_uri`(清洗后的转写)。 - `_sidecar_product_name` 改为**按 final_outputs 别名**映射语言后缀 (`ja_srt`→`.JA.srt`、`cn_srt`→`.CN.srt`、`ass`→`.CN_dual_eye.ass`),未登记别名 时按扩展名兜底。此前两份 `.srt` 都映射成 `.CN.srt` 会互相覆盖(真实日志: "产物已放视频旁: movie.CN.srt, movie.CN.srt")。 - 任务管理的产物列补"日语 SRT"下载链接。 - 测试:按别名区分语言变体 + 端到端验证两份产物都落地且不覆盖。
This commit is contained in:
+2
-2
@@ -76,8 +76,8 @@
|
||||
无版本/一个视频都没有)返回 422。
|
||||
- **产物放在视频旁**:每个视频处理完成后,把工作流 `final_outputs` 对应的最终
|
||||
产物文件(字幕流水线即中文 `.srt` 与双目 `.ass`)**复制一份到视频所在目录**,
|
||||
与 .mp4 放在一起(`_place_products`)。文件名**对齐媒体库既有约定**:中文字幕
|
||||
存为 `<视频名>.CN.srt`、双目字幕存为 `<视频名>.CN_dual_eye.ass`(稳定无时间戳,
|
||||
与 .mp4 放在一起(`_place_products`)。文件名**对齐媒体库既有约定**:日语转写
|
||||
存为 `<视频名>.JA.srt`、中文字幕存为 `<视频名>.CN.srt`、双目字幕存为 `<视频名>.CN_dual_eye.ass`(稳定无时间戳,
|
||||
`_sidecar_product_name` 映射,其余扩展名产物保留原文件名;同名目标直接覆盖)。
|
||||
文件名含视频主名,下次批量扫描会命中"已有字幕"规则直接跳过该视频。
|
||||
- **成品放置校验(审查 R03)**:先预检全部 `final_outputs` 对应的记录与文件,
|
||||
|
||||
+3
-1
@@ -65,7 +65,9 @@ Expecting value: line 1 column 1 (char 0)`),也会直接渲染成超长字
|
||||
保留节点原始文件及 URI,把成品副本存入 `runs/<run_id>/finals/output-<编码别名>/`;
|
||||
时间戳固定取 run 创建时间,重复收尾覆盖相同路径,多个别名分目录避免冲突。
|
||||
复制先写同目录临时文件,再原子替换目标,失败不登记残缺文件;`final_outputs`
|
||||
声明的引用或文件缺失时任务失败,不能标完成。旧版本原文件已改名但最终别名记录
|
||||
声明的引用或文件缺失时任务失败,不能标完成。learn-translate 声明三份最终产物:
|
||||
`ja_srt`(asr 节点清洗后的日语转写,翻译前的归档)、`cn_srt`(中文译文)、`ass`(双目)。
|
||||
旧版本原文件已改名但最终别名记录
|
||||
仍指向有效文件时允许复用;原文件与成品都丢失时明确报错。批量场景下成品还会
|
||||
复制到视频旁,命名约定见 [operations.md](./operations.md#文件夹批量处理)。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user