使用 Node.js 创建视频的 SRT 文件:综合指南

realtime news  Jun 18, 2024 14:57  UTC 06:57

1 Min Read

创建视频的 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 还提供了各种工具来增强您的音频和视频应用,可以通过他们的博客和文档探索。



Read More