Creating SRT Files for Videos Using Node.js: A Comprehensive Guide
Creating SRT subtitle files for videos is a crucial task for improving accessibility and user engagement. According to AssemblyAI, this can be efficiently achieved using Node.js and the AssemblyAI API. This guide walks through the process step-by-step.
Step 1: Set up Your Development Environment
To begin, ensure you have Node.js 18 or higher installed on your system. Create a new project folder and initialize a Node.js project:
mkdir srt-subtitles
cd srt-subtitles
npm init -y
Open the package.json file and add type: "module",
to use the ES Module syntax. Next, install the AssemblyAI JavaScript SDK:
npm install --save assemblyai
Obtain an AssemblyAI API key from your dashboard and set it as an environment variable:
# Mac/Linux:
export ASSEMBLYAI_API_KEY=<YOUR_KEY>
# Windows:
set ASSEMBLYAI_API_KEY=<YOUR_KEY>
Step 2: Transcribe Your Video
With the environment set up, you can start transcribing your video files. Use a publicly accessible video URL or specify local files. Create a file called index.js
and add the following code:
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",
});
Check for errors and log them:
if (transcript.status === "error") {
throw new Error(transcript.error);
}
Step 3: Generate SRT File
After obtaining the transcript, generate the subtitles in SRT format. Import the necessary module to save the file to disk:
import { writeFile } from "fs/promises";
Then, generate the SRT subtitles and save them:
const srt = await client.transcripts.subtitles(transcript.id, "srt");
await writeFile("./subtitles.srt", srt);
You can customize the captions by specifying the chars_per_caption
parameter:
const srt = await client.transcripts.subtitles(transcript.id, "srt", 32);
await writeFile("./subtitles.srt", srt);
Step 4: Run the Script
Finally, run the script to generate the subtitles:
node index.js
After a few seconds, a new file subtitles.srt
will appear on disk, containing the generated subtitles.
Next Steps
Now that you have your subtitle file, you can upload it to YouTube Studio or configure it in your video player. AssemblyAI also offers various tools to enhance your audio and video applications, which can be explored through their blog and documentation.
Read More
Oracle APEX AI Assistant Revolutionizes Enterprise App Development with Natural Language
Jun 18, 2024 0 Min Read
NVIDIA Isaac Lab Advances Quadruped Locomotion Training
Jun 18, 2024 0 Min Read
Bitfinex First to List aUSDT, a Gold-Backed Tether Asset
Jun 18, 2024 0 Min Read
NVIDIA Triumphs at CVPR with End-to-End Driving Model
Jun 18, 2024 0 Min Read
NVIDIA Unveils Largest Indoor Synthetic Dataset at CVPR for Advancing Physical AI
Jun 18, 2024 0 Min Read