Skip to content

视频:转写文本 #1

Description

@nana-123456

【视频】转写文本:调用本地 ASR 并生成结构化文本段落

背景

视频分析的第一步是生成可用于后续语义帧抽取、线框图生成和 Markdown 输出的文本基础数据。

该步骤只负责文本产物:先调用本地 ASR 服务完成原始转写,再使用大模型将原始转写整理成结构化文本段落。不处理关键帧、语义帧或线框图挂载。

目标

实现视频转写文本功能,包括:

  1. 调用本地 ASR 服务生成原始转写文本。
  2. 保存原始 ASR 文本。
  3. 基于原始 ASR 文本生成结构化文本段落。
  4. 保存结构化文本 JSON。
  5. 保存页面展示用的结构化转写文本。
  6. 转写文本结果中只包含文本段落和时间信息,不挂载关键帧和线框图。

实现步骤

1. 调用本地 ASR 服务

本地 ASR 服务地址:

http://10.0.0.10:12301/v1/audio/transcriptions

使用方式:

将完整视频文件上传给本地 ASR 服务,返回视频的完整语音转写文本。

ASR 模型:

Qwen/Qwen3-ASR-1.7B

如果 ASR 服务返回句子或片段级时间信息,也需要保留,后续结构化分段时可以作为时间范围参考。

2. 保存原始 ASR 文本

原始 ASR 文本保存为:

raw_asr.txt

存储路径:

videos/{video_id}/transcript/raw_asr.txt

3. 生成结构化文本段落

基于 raw_asr.txt 中的完整转写文本,调用大模型生成结构化文本段落。

使用模型:

qwen3.7-plus

结构化要求:

1. 按语义、操作对象、动作步骤或说明主题分段。
2. 不按固定时间硬切。
3. 每个段落包含一个相对完整的操作或说明单元。
4. 每个段落需要包含段落标题、段落正文、开始时间、结束时间。
5. 结构化结果只处理文本,不判断关键帧,不挂载线框图。

4. 保存结构化文本 JSON

结构化文本结果保存为:

transcript_tree.json

存储路径:

videos/{video_id}/transcript/transcript_tree.json

JSON 中至少需要包含:

视频信息
原始 ASR 文本路径
结构化模型名称
文本段落列表

每个文本段落至少包含:

段落序号
段落标题
段落开始时间
段落结束时间
段落正文

5. 保存页面展示用结构化转写文本

页面展示用文本保存为:

transcript_rendered.txt

存储路径:

videos/{video_id}/transcript/transcript_rendered.txt

展示内容包括:

视频标题
每个文本段落的标题
每个文本段落的时间范围
每个文本段落的正文

该展示文本中不包含:

关键帧
语义帧
线框图

验收标准

  1. 可以调用本地 ASR 服务完成原始转写。
  2. 可以生成并保存:
videos/{video_id}/transcript/raw_asr.txt
  1. 可以调用 qwen3.7-plus 生成结构化文本段落。
  2. 可以生成并保存:
videos/{video_id}/transcript/transcript_tree.json
  1. 可以生成并保存:
videos/{video_id}/transcript/transcript_rendered.txt
  1. 结构化转写文本中只包含文本段落和时间信息,不包含关键帧、语义帧和线框图。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions