在前端开发中,我们常常需要对音频或视频文件进行转换和处理。而 AWS 提供的 AWS Transcribe 服务可以方便地将音频文件转换成文本。不过在实际应用中,我们还需要将这些文本转换成诸如 VTT(WebVTT) 这样的字幕文件以便在网页上展示。aws-transcription-to-vtt 这个 npm 包就能够帮助我们将 AWS Transcribe 的转录文本转换成 VTT 格式的字幕文件。
安装
安装 aws-transcription-to-vtt:
npm i aws-transcription-to-vtt
使用
使用 aws-transcription-to-vtt 将 AWS Transcribe 产生的转录文本转换成 VTT 格式的字幕文件的步骤十分简单。
首先,你需要使用 AWS Transcribe 将音频文件转换成转录文本。然后,你需要将转录文本存储到一个本地文件中。接下来,你就可以在你的 Node.js 应用中使用 aws-transcription-to-vtt 包进行转换:
-- -------------------- ---- ------- ----- - ------------------ - - ------------------------------------ -- ----- --- ---------- ------ ----- --------- - ------------------------------------ -- ------ --- --------- ----- ---------- - -------------------------------- -- ------------------------ --- ------- ----- ------------------ - --- --------------------- ------------------------------------- ------------
在上述代码中,TranscriptionToVtt 类是 aws-transcription-to-vtt 包中用来执行转换的主要类。使用该类的 convert() 方法将输入的 json 文件路径和输出 VTT 文件路径传递给转换器,即可生成转换结果。
示例
假设 AWS Transcribe 将某个文件转录后生成如下转录文本:
-- -------------------- ---- ------- - ---------- - -------------- - - ------------- -------- --- ------------ - -- -------- - - ------------- ------- ----------- ------- --------------- - - ------------- --------- ---------- ---- - -- ------- --------------- -- - ------------- ------- ----------- ------- --------------- - - ------------- --------- ---------- --- - -- ------- --------------- -- - ------------- ------- ----------- ------- --------------- - - ------------- --------- ---------- --- - -- ------- ------------- -- - ------------- ------- ----------- ------- --------------- - - ------------- --------- ---------- --- - -- ------- --------------- -- - ------------- ------- ----------- ------- --------------- - - ------------- --------- ---------- --- - -- ------- --------------- -- - --------------- - - ------------- ----- ---------- --- - -- ------- ------------- -- - ------------- ------- ----------- ------- --------------- - - ------------- --------- ---------- ----- - -- ------- --------------- -- - ------------- ------- ----------- ------- --------------- - - ------------- --------- ---------- ------------ - -- ------- --------------- -- - --------------- - - ------------- ----- ---------- --- - -- ------- ------------- - - - -
我们可以将这份转录文本保存到文件 transcript.json
中,然后使用以下代码将它转换成 VTT 格式的字幕文件:
const { TranscriptionToVtt } = require('aws-transcription-to-vtt'); const transcriptionToVtt = new TranscriptionToVtt(); transcriptionToVtt.convert('./transcript.json', './transcript.vtt');
执行上述代码,我们将会在本地文件系统中生成一个名为 transcript.vtt
的文件,其内容如下:
-- -------------------- ---- ------- ------ ------------ --- ------------ ---- ------------ --- ------------ -- ------------ --- ------------ - --- -----------
值得注意的是,由于 AWS 转录结果中的时间和 VTT 字幕文件格式中的时间不太一样,因此在转换过程中,aws-transcription-to-vtt 包会将转录结果中的时间信息转换成 VTT 文件格式的时间信息。
结语
本文介绍了如何使用 aws-transcription-to-vtt 包将 AWS Transcribe 的转录文本转换成 VTT 格式的字幕文件,并给出了具体的使用案例。在实际应用中,请根据自身需求对示例代码进行适当的修正。如有疑问,可参考官方文档或在 GitHub 上咨询此项目开发者。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60067381890c4f72775842ad