创建视频的 SRT 字幕文件是提高可访问性和用户参与度的关键任务。根据 AssemblyAI 的说法,可以使用 Node.js 和 AssemblyAI API 高效地完成此任务。本指南逐步介绍了整个过程。
步骤 1:设置开发环境
首先,确保您在系统上安装了 Node.js 18 或更高版本。创建一个新的项目文件夹并初始化一个 Node.js 项目:
mkdir srt-subtitles
cd srt-subtitles
npm init -y
打开 package.json 文件并添加 type: "module",
以使用 ES 模块语法。接下来,安装 AssemblyAI JavaScript SDK:
npm install --save assemblyai
从您的 仪表盘 获取一个 AssemblyAI API 密钥,并将其设置为环境变量:
# Mac/Linux:
export ASSEMBLYAI_API_KEY=<YOUR_KEY>
# Windows:
set ASSEMBLYAI_API_KEY=<YOUR_KEY>
步骤 2:转录您的视频
设置环境后,您可以开始转录您的视频文件。使用公开可访问的视频 URL 或指定本地文件。创建一个名为 index.js
的文件,并添加以下代码:
import { AssemblyAI } from 'assemblyai';
const client = new AssemblyAI({ apiKey: process.env.ASSEMBLYAI_API_KEY });
const transcript = await client.transcripts.transcribe({
audio: "https://storage.googleapis.com/aai-web-samples/aai-overview.mp4",
});
检查错误并记录它们:
if (transcript.status === "error") {
throw new Error(transcript.error);
}
步骤 3:生成 SRT 文件
获取转录文本后,生成 SRT 格式的字幕。导入必要的模块以将文件保存到磁盘:
import { writeFile } from "fs/promises";
然后,生成 SRT 字幕并保存它们:
const srt = await client.transcripts.subtitles(transcript.id, "srt");
await writeFile("./subtitles.srt", srt);
您可以通过指定 chars_per_caption
参数来自定义字幕:
const srt = await client.transcripts.subtitles(transcript.id, "srt", 32);
await writeFile("./subtitles.srt", srt);
步骤 4:运行脚本
最后,运行脚本以生成字幕:
node index.js
几秒钟后,一个新的文件 subtitles.srt
将出现在磁盘上,包含生成的字幕。
后续步骤
现在您已经有了字幕文件,可以将其上传到 YouTube Studio 或在视频播放器中配置。 AssemblyAI 还提供了各种工具来增强您的音频和视频应用,可以通过他们的博客和文档探索。
Image source: Shutterstock