wayne
wayne
发布于 2025-06-12 / 3 阅读
0
0

AI - AI-Media2Doc音视频转化文档尝鲜指南

#AI

最近有朋友叫我帮忙部署一个影音转文档的开源工具,属于一键将音视频转化为小红书/公众号/知识笔记/思维导图/视频字幕等各种风格的文档。看了下后端依赖于字节跳动火山引擎,所以会产生一些费用,实际试用费用还好。

Docker部署

按照文档,选择用docker部署更快:

0️⃣:安装 docker, 这个网上有教程。

1️⃣:镜像构建, 在项目根目录下执行:

Note: 最好有代理加持,不然过程会很痛苦。

$ make docker-image

2️⃣:这一步很重要,请根据 后端部署指引 / 配置项说明 完善根目录下的 variables.env 文件。下面也写了详细的配置获取方法。

3️⃣:运行项目,在项目根目录下执行:

$ make run


在火山引擎获取对应的环境变量的值

主要分为三部分, 火山方舟/字节Tos/音频识别大模型

火山方舟

MODEL_ID

⚠️: 最新版本的 AI-Media2Doc 已经不再需要 ENDPOINT_ID, 由 MODEL_ID 代替。

登录方舟控制台。进入开通管理, 选择开通一个大语言模型。 推荐使用 doubao-1-5-pro-32k-250115 。点击开通之后点击该大模型进入详情页,选择通用 LLM(没有就选主线模型), 复制红框内的 模型 ID,即为 MODEL_ID 的值。

model id

ARK_API_KEY

在 API Key 管理中创建一个 API Key 参考文档 你就得到了 ARK_API_KEY 的值。

火山引擎对象存储服务

创建 bucket 设置跨域规则

登录对象存储控制台 创建一个 bucket, 创建完毕之后进入该 bucket。点击右侧权限管理, 找到跨域访问设置, 新建一条跨域访问规则。

tos access key

当然你也可以根据实际情况灵活选择。

TOS_ENDPOINT

点击 桶列表 -> 点进去你创建的那个 bucket -> 点击概览 -> 眼睛往下看

你会看到一个访问域名, TOS_ENDPOINT 的值就是红框框里面那个,不同的区域 TOS_ENDPOINT 的值可能不一样。

tos access key

TOS_BUCKET

TOS_BUCKET 的值就是你创建的 bucket 的名称。

TOS_REGION

TOS_REGION 的值就是你创建的 bucket 的区域, 例如 cn-beijing

TOS_ACCESS_KEY 和 TOS_SECRET_KEY

进入 IAM控制台 创建一个访问密钥, 你就得到了 TOS_ACCESS_KEYTOS_SECRET_KEY 的值。

音频识别大模型

火山方舟每个音频识别大模型都提供了 20 个小时的试用额度, 可以轮流试用。

登录录音文件识别大模型控制台(https://console.volcengine.com/speech/service), 点击右侧录音文件识别, 创建一个应用, 你就得到了 AUC_APP_IDAUC_ACCESS_TOKEN 的值。

AUC_APP_ID

AUC_APP_ID 的值就是你创建的应用的 ID。

AUC_ACCESS_TOKEN

AUC_ACCESS_TOKEN 的值就是你创建的应用的 Access Token。

AUC_CLUSTER_ID

点击试用 录音文件识别-通用-标准版 或者其他的大模型,开通试用之后,Cluster ID 列就表示 AUC_CLUSTER_ID 的值。

效果图

部署过程爬的坑

防火墙端口放开

如果使用的是云服务器,请至安全组开放目标端口。

SharedArrayBuffer is not defined

因为浏览器的安全策略限制会报这个错,解决方法就两个:

  • 不使用ip或这域名访问,使用localhost

  • 使用域名+https

因为我是部署在服务器的,所以用第二种方案。

服务器部署前后端分离的调用问题

因为 AI-Media2Doc 是前后端分离的形式,所以服务器部署的情况下,调用后端不可能用localhost的形式,所以要改 AI-Media2Doc-0.3.0/frontend 目录下的 .env.development

# API 服务基础URL(开发环境)
VITE_API_BASE_URL=https://xxx.xxx.cn

nginx基础认证

因为目前这个访问是没有权限的,对于暴露在公网的服务比较不安全,所以做个nginx基础认证。详细的可以看nginx官网教程。

ngx_http_auth_basic_module

密码文件生成

echo "ai:$(openssl passwd -apr1 '6321321480')" > .htpasswd



评论