本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建视频字幕
Amazon Transcribe支持 WebVTT (*.vtt) 和 SubRip (*.srt) 输出用作视频字幕。设置批量视频转录作业时,您可以选择一种或两种文件类型。使用字幕功能时,将生成您选择的字幕文件和常规脚本文件(包含其他信息)。字幕和转录文件输出到同一个目的地。
字幕在朗读文字的同时显示,在自然暂停或说话者说完话之前,字幕一直可见。请注意,如果您在转录请求中启用字幕且音频不包含语音,则不会创建字幕文件。
重要
Amazon Transcribe字幕输出使用默认0
的起始索引,这与更广泛使用的值不同1
。如果您需要的起始索引为1
,则可以在AWS Management Console或 API 请求中使用OutputStartIndex
参数指定此索引。
使用不正确的起始索引可能会导致与其他服务的兼容性错误,因此在创建字幕之前,请务必验证所需的起始索引。如果您不确定要使用哪个值,我们建议您选择1
。有关更多信息 Subtitles
,请参阅。
字幕支持的功能:
-
内容编辑- 任何经过编辑的内容在字幕和常规脚本输出文件中都反映为
PII
“”。音频没有改变。 -
词汇过滤器 — 字幕文件由转录文件生成,因此您在标准转录输出中筛选的任何单词也会在字幕中过滤。过滤后的内容以空格形式或
***
在您的脚本和字幕文件中显示。音频没有改变。 -
扬声器分布 — 如果给定的字幕片段中有多个扬声器,则使用短划线来区分每个说话者。这适用于 WebVTT 和SubRip格式;例如:
--第 1 人说的文字
--第 2 人说的文字
字幕文件存储在与转录输出相同Amazon S3的位置。
有关创建字幕的视频演练,请参阅:
生成字幕文件
您可以使用AWS Management Console、AWS CLI或 AWSSDK 创建字幕文件;请参阅以下示例:
-
在导航窗格中,选择转录作业,然后选择创建作业(右上角)。这将打开 “指定作业详细信息” 页面。字幕选项位于输出数据面板中。
-
为字幕文件选择所需的格式,然后为起始索引选择一个值。请注意,Amazon Transcribe默认值为
0
,但1
使用得更广泛。如果您不确定要使用哪个值,我们建议您选择1
,因为这可能会提高与其他服务的兼容性。 -
在 “指定作业详细信息” 页面上填写您想要包含的任何其他字段,然后选择 “下一步”。这将带您进入配置作业-可选页面。
-
选择 “创建作业” 以运行您的转录作业。
此示例使用start-transcription-jobSubtitles
参数。有关更多信息,请参阅 StartTranscriptionJob
和 Subtitles
。
aws transcribe start-transcription-job \ --region
us-west-2
\ --transcription-job-namemy-first-transcription-job
\ --media MediaFileUri=s3://DOC-EXAMPLE-BUCKET
/my-input-files
/my-media-file
.flac
\ --output-bucket-nameDOC-EXAMPLE-BUCKET
\ --output-keymy-output-files
/ \ --language-codeen-US
\ --subtitles Formats=vtt
,srt
,OutputStartIndex=1
这是使用start-transcription-job
aws transcribe start-transcription-job \ --region
us-west-2
\ --cli-input-json file://my-first-subtitle-job
.json
my-first-subtitle-job.json 文件包含以下请求正文。
{ "TranscriptionJobName": "
my-first-transcription-job
", "Media": { "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET
/my-input-files
/my-media-file
.flac
" }, "OutputBucketName": "DOC-EXAMPLE-BUCKET
", "OutputKey": "my-output-files
/", "LanguageCode": "en-US
", "Subtitles": { "Formats": [ "vtt
","srt
" ], "OutputStartIndex":1
} }
此示例使用 start_transcription_Subtitles
参数来添加字幕。AWS SDK for Python (Boto3)有关更多信息,请参阅 StartTranscriptionJob
和 Subtitles
。
有关使用 AWS SDK 的其他示例,包括特定功能、场景和跨服务示例,请参阅本章。使用 Amazon Transcribe 的代码示例 AWS SDKs
from __future__ import print_function import time import boto3 transcribe = boto3.client('transcribe', '
us-west-2
') job_name = "my-first-transcription-job
" job_uri = "s3://DOC-EXAMPLE-BUCKET
/my-input-files
/my-media-file
.flac
" transcribe.start_transcription_job( TranscriptionJobName = job_name, Media = { 'MediaFileUri': job_uri }, OutputBucketName = 'DOC-EXAMPLE-BUCKET
', OutputKey = 'my-output-files
/', LanguageCode = 'en-US
', Subtitles = { 'Formats': [ 'vtt
','srt
' ], 'OutputStartIndex':1
} ) while True: status = transcribe.get_transcription_job(TranscriptionJobName = job_name) if status['TranscriptionJob']['TranscriptionJobStatus'] in ['COMPLETED', 'FAILED']: break print("Not ready yet...") time.sleep(5) print(status)