轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
lintoai/linto-transcription-service
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

linto-transcription-service Docker 镜像下载 - 轩辕镜像

linto-transcription-service 镜像详细信息和使用指南

linto-transcription-service 镜像标签列表和版本信息

linto-transcription-service 镜像拉取命令和加速下载

linto-transcription-service 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

linto-transcription-service
lintoai/linto-transcription-service

linto-transcription-service 镜像详细信息

linto-transcription-service 镜像标签列表

linto-transcription-service 镜像使用说明

linto-transcription-service 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

LinTO Transcription service是用于请求音视频转录的API服务,支持异步转录多种音视频格式文件,可指定说话人分离、标点等子任务,跟踪任务状态与进度,自动将结果存储到数据库避免重复转录,并能获取不同格式的转录结果。
1 收藏0 次下载activelintoai镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

linto-transcription-service 镜像详细说明

linto-transcription-service 使用指南

linto-transcription-service 配置说明

linto-transcription-service 官方文档

LinTO 转录服务

概述

转录服务是用于请求音视频转录的API服务。该服务允许您:

  • 从多种音视频文件格式请求异步转录
  • 指定转录子任务,如说话人分离和标点添加
  • 跟踪转录任务的状态和进度
  • 自动将转录结果存储在数据库中(避免同一音频文件被多次转录)
  • 获取不同格式和选项的转录结果

目录

  • 前提条件
  • 部署
    • 使用 docker run
    • 使用 docker compose
    • 环境变量
  • API
    • /list-services
      • 子服务解析
    • /transcribe
      • 转录配置
    • /job/{jobid}
    • /results/{result_id}
      • 转录结果
    • /job-log/{jobid}
    • /docs
  • 使用示例
  • 许可协议

前提条件

使用转录服务前,您必须至少具备:

  • 一个或多个运行中的linto-stt实例,且配置了相同的SERVICE_NAME(LANGUAGE必须兼容)
  • 一个运行在SERVICES_BROKER的REDIS broker
  • 一个运行在MONGO_HOST:MONGO_PORT的MongoDB数据库

可选地,如需使用说话人分离或标点功能,还需:

  • 一个或多个运行中的linto-diarization-worker(版本>1.2.0),用于说话人分离,需配置在同一服务broker上(LANGUAGE必须兼容)
  • 一个或多个运行中的linto-punctuation-worker(版本>1.2.0),用于文本标点,需配置在同一服务broker上(LANGUAGE必须兼容)

为使不同服务间共享音频文件,它们必须配置相同的共享卷RESSOURCE_FOLDER。

部署

使用 docker run

  1. 首先构建镜像:
cd linto-transcription-service &&
docker build . -t transcription_service
  1. 创建并填充.env文件
cp .envdefault .env

按照环境变量部分描述填充.env文件

  1. 启动容器:
docker run --rm -it -p $SERVING_PORT:8080 \
    -v $YOUR_SHARED_FOLDER:/opt/audio \
    --env-file .env \
    --name my_transcription_api \
    transcription_service \
    /bin/bash

将SERVING_PORT和YOUR_SHARED_FOLDER替换为您的值。

使用 docker compose

  1. 创建并填充.env文件
cp .envdefault .env

按照环境变量部分描述填充.env文件

  1. 启动compose
docker-compose up .

环境变量

环境变量描述示例
WEBSERVER_HTTP_PORTWeb服务器监听HTTP请求的端口号8080
LANGUAGE用于文本标准化(数字转文字、标点标准化等)的语言代码(BCP-47代码)fr-FR
KEEP_AUDIO请求后是否保留音频文件1(是)| 0(否)
CONCURRENCY工作进程数(默认10)10
SERVICE_NAMESTT服务名称,用于连接到正确的redis通道和mongo集合my_stt_service
SERVICES_BROKER消息代理地址redis://broker_address:6379
BROKER_PASS代理密码Password
MONGO_HOSTMongoDB结果存储地址my-mongo-service
MONGO_PORTMongoDB结果存储端口27017
RESOLVE_POLICY子服务解析策略(默认ANY)*ANY | DEFAULT | STRICT
<SERVICE_TYPE>_DEFAULT子任务<SERVICE_TYPE>的默认服务名称 *punctuation-1

*: 参见子服务解析

心跳设置

环境变量描述示例
REGISTRATION_MODE通过HTTP启用服务向API网关注册。如果未设置此变量,以下所有变量将被忽略。HTTP或未设置
PROXIED_SERVICE_BASE_URL转录服务的基础URL[***]
GATEWAY_SERVICE_BASE_URLAPI网关用于新服务注册的路由[***]
GATEWAY_PROXY_PATHAPI网关上路由到此服务的基础路径/transcribe

API

转录服务提供REST API用于提交转录请求。

转录服务围绕两个概念展开:

  • 由job_id标识的异步任务:job_id表示正在进行的转录任务
  • 由result_id标识的转录结果

典型的转录流程如下:

  1. 在/transcribe提交文件和转录配置。该路由返回201状态码和job_id
  2. 使用/job/{job_id}路由跟踪任务进度。任务完成时,将返回201状态码和result_id
  3. 使用/results/{result_id}路由获取转录结果,可指定所需格式和选项

/list-services

list-services GET路由用于获取可用的转录子服务。

返回一个JSON对象,包含按服务类型索引的已部署服务列表。列出的服务会根据设置的LANGUAGE参数进行过滤。

{
  "diarization": [ # 服务类型
    {
      "service_name": "diarization-1", # 服务名称。在转录配置中用作参数以调用此特定服务
      "service_type": "diarization", # 服务类型
      "service_language": "*", # 支持的语言
      "queue_name": "diarization-queue", # 此服务使用的Celery队列
      "info": "说话人分离服务", # 服务信息
      "instances": [ # 此特定服务的实例
        {
          "host_name": "feb42aacd8ad", # 实例唯一ID
          "last_alive": 1665996709, # 最后心跳时间
          "version": "1.2.0", # 服务版本
          "concurrency": 1 # 实例并发数
        }
      ]
    }
  ],
  "punctuation": [
    {
      "service_name": "punctuation-1",
      "service_type": "punctuation",
      "service_language": "fr-FR",
      "queue_name": "punctuation-queue",
      "info": "标点服务",
      "instances": [
        {
          "host_name": "b0e9e24349a9",
          "last_alive": 1665996709,
          "version": "1.2.0",
          "concurrency": 1
        }
      ]
    }
  ]
}

子服务解析

子服务解析是允许转录服务使用适当的可选子服务(如说话人分离或标点预测)的机制。当子任务配置中未传递serviceName时应用解析。

有三种解析服务名称的策略:

  • ANY:使用任何兼容的子服务
  • DEFAULT:使用服务的默认子服务(必须声明)
  • STRICT:如果未指定服务,则引发错误

解析策略在启动时通过RESOLVE_POLICY环境变量声明:ANY | DEFAULT | STRICT(默认ANY)。

默认服务名称必须在启动时声明:<SERVICE_TYPE>_DEFAULT。例如,默认标点子服务为"punctuation-1",则PUNCTUATION_DEFAULT=punctuation1。

语言兼容性

子服务兼容的条件是其子服务的语言与转录服务的语言兼容。

/transcribe

/transcribe路由接受包含音频文件的POST请求。

该路由接受multipart/form-data请求。

响应格式可以是application/json或text/plain,由请求头的accept字段指定。

表单参数描述是否必需
transcriptionConfig(可选对象)描述转录参数的转录配置,JSON格式参见转录配置
force_sync(可选布尔值,默认false)如果为true,则执行同步请求true | false | null

如果请求被接受,响应应为201状态码,包含JSON或文本格式的jobid。

accept: application/json时:

{"jobid" : "the-job-id"}

accept: text/plain时:

the-job-id

如果force_sync标志设置为true,请求返回200状态码和转录结果(参见转录结果),使用与/result/{result_id}路由相同的accept选项。

不建议对大文件使用force_sync,因为它会在整个转录期间阻塞工作进程。

此外,还可以上传时间戳文件(与音频文件一起),其中包含要转录的片段时间戳。时间戳文件是文本文件,每行一个片段,可包含可选的说话人ID:

# start stop [speakerid]
0.0 7.05 1
7.05 13.0

转录配置

转录配置描述请求的转录输入参数和标志。它允许设置:

  • 转录目标语言
  • 语音活动检测(VAD)参数
  • 说话人分离参数
  • 标点参数

结构如下:

{
  "language": "fr-FR",          # 转录目标语言(默认:null)
  "vadConfig": {
    "enableVad": true,          # 启用语音活动检测(默认:true)
    "methodName": "WebRTC",     # VAD方法(默认:WebRTC)
    "minDuration": 30,          # 语音片段最小持续时间(默认:0)
    "maxDuration": 1200         # 语音片段最大持续时间(默认:1200)
  },
  "diarizationConfig": {
    "enableDiarization": true,  # 是否启用说话人分离(默认:false)
    "numberOfSpeaker": null,    # 如果设置,强制说话人数量
    "maxNumberOfSpeaker": 50,   # 如果设置且未设置numberOfSpeaker,限制最大说话人数量
    "speakerIdentification": null,  # 要识别的说话人名称(取决于说话人分离worker的安装)
    "serviceName": null         # 强制服务名称(参见子服务解析)
  },
  "punctuationConfig": {
    "enablePunctuation": false, # 是否添加标点(默认:false)
    "serviceName": null         # 强制服务名称(参见子服务解析)
  }
}

serviceName可用于指定特定的子服务版本。可用服务可在/list-services查看。

target language可以是""(自动语言检测),或描述语言的常用标签("fr"、"fr-FR"、"French"——参见[**] 注意,此参数的作用与用于文本标准化的环境变量LANGUAGE不同(后者仅限于BCP-47代码)。

要启用说话人识别,可将说话人分离配置的speakerIdentification字段设置为通配符"*"(启用所有说话人)或说话人名称列表(JSON格式,例如:"["John Doe", "Bob"]")。说话人分离worker必须已配置为可匹配所有说话人名称与一组语音样本。

/job/{jobid}

/job/{jobid} GET路由用于获取给定转录任务的状态。

响应格式为application/json。

  • 如果任务状态为started,返回102状态码和进度信息
  • 如果任务状态为done,返回201状态码和result_id
  • 如果任务状态为pending,返回404状态码。pending可能表示:转录工作进程尚未可用或jobid不存在
  • 如果任务状态为failed,返回400状态码
{
  # 任务待处理或jobid错误:404
  {"state": "pending"}

  # 任务已开始:102
  {"state": "started", "progress": {"current": 1, "total": 3, "step": "Transcription (75%)"}}

  # 任务已完成:201
  {"state": "done", "result_id" : "result_id"}

  # 任务失败:400
  {"state": "failed", "reason": "Something went wrong"}
}

/results/{result_id}

/results/{result_id} GET路由用于获取与result_id关联的转录结果。

转录结果

accept请求头指定结果格式:

  • application/json 返回完整的JSON对象结果;
{
  "raw_transcription": "bonjour est-ce que vous allez bien mais oui et vous",                       # 原始转录文本
  "transcription_result": "spk1: Bonjour ! Est-ce que vous allez bien ?\nspk2: Mais oui et vous ?", # 最终转录文本
  "language": "fr",  # 整体转录语言(请求中指定或音频中检测到的主要语言)
  "confidence": 0.9, # 整体转录置信度分数
  "segments": [ # 单个说话人连续语音的片段
    {
      "raw_segment": "bonjour est-ce que vous allez bien", # 语音片段的原始转录
      "segment": "Bonjour ! Est-ce que vous allez bien ?", # 片段的处理后转录(标点、标准化等)
      "start": 0,       # 片段开始时间
      "end": 5.26,      # 片段结束时间
      "duration": 5.26, # 片段持续时间
      "language": "fr", # 片段语言(检测到的主要语言或请求中指定)
      "spk_id": "spk1", # 片段说话人ID
      "words": [        # 片段词语信息
        {
          "word": "bonjour", # 词语
          "start": 0.0,      # 词语开始时间
          "end": 1.02,       # 词语结束时间
          "conf": 0.49       # 词语置信度分数
        },
        {
          "word": "est-ce",
          "start": 3.0,
          "end": 3.84,
          "conf": 0.63
        },
        ...
      ]
    },
    ...
  ]
}
  • text/plain 返回纯文本格式的最终转录结果
spk1: Bonjour ! Est-ce que vous allez bien ?
spk2: Mais oui et vous ?
  • text/vtt 返回WEBVTT字幕格式的转录结果
WEBVTT Kind: captions; Language: fr

00:00.000 --> 00:05.260
Bonjour ! Est-ce que vous allez bien ?

00:05.270 --> 00:06.710
Mais oui et vous ?
  • text/srt 返回SubRip字幕格式的转录结果
1
00:00:00,000 --> 00:00:05,260
Bonjour ! Est-ce que vous allez bien ?

2
00:00:05,270 --> 00:00:06,710
Mais oui et vous ?

查询字符串选项

还可以使用查询字符串指定选项:

  • return_raw: 如果设置为true,返回原始转录文本(无标点和后处理)
  • convert_number: 如果设置为true,将数字从文字转换为数字
  • wordsub: 接受多个格式为originalWord:substituteWord的值,用于在最终转录结果中替换词语

/job-log/{jobid}

/job-log/{jobid} GET路由用于检索任务详情以进行调试。返回原始文本格式的日志。

/docs

/docs路由提供Swagger-UI界面,包含API规范(OAS3)。

还允许使用预填充的可修改参数直接测试请求。

使用示例

查看更多 linto-transcription-service 相关镜像 →
lintoai/linto-stt-kaldi logo
lintoai/linto-stt-kaldi
by lintoai
LinTO-STT-Kaldi是基于Kaldi训练模型的自动语音识别(ASR)API,支持作为独立转录服务或通过消息代理连接器部署于微服务架构,提供离线及实时转录功能。
150K+ pulls
上次更新:1 个月前
lintoai/linto-stt-whisper logo
lintoai/linto-stt-whisper
by lintoai
LinTO-STT-Whisper是基于Whisper模型的自动语音识别(ASR)API,可作为独立转录服务或通过消息代理连接器部署于微服务架构,支持离线及实时转录。
250K+ pulls
上次更新:30 天前

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像免费版与专业版有分别支持哪些镜像?

免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.