webvtt2ass
Version:
Convert WebVTT into ASS Subtitle
18 lines (15 loc) • 640 B
JavaScript
;
const fs = require("fs");
const parser = require("webvtt/lib/parser");
const subtitle = require("./lib/subtitle.text");
function webvtt2ass(input, outputStream, font) {
fs.readFile(input, "utf8", (err, context) => {
if (err !== null) { throw err; }
outputStream.write(subtitle.assHeader(font));
new parser.WebVTTParser().parse(context, "subtitles").cues.forEach((item) => {
const ret = subtitle.parseSegment(item);
outputStream.write(`Dialogue: 0,${ret.begin},${ret.end},${ret.style},${ret.voice},0,0,0,,${ret.text}\n`);
});
});
}
module.exports = webvtt2ass;