本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon Transcribe 支援 WebVTT (*.vtt) 和 SubRip (*.srt) 輸出,以用作影片字幕。您可以在設定批次影片轉錄作業時,選擇一或兩種檔案類型。使用字幕功能時,系統會產生您選擇的字幕檔案和一般的文字記錄檔案 (包含其他資訊)。字幕和轉錄檔案輸出到相同的目的地。
會在朗讀文字的同時顯示字幕,並維持可見,直到自然暫停或發言者完成通話為止。請注意,如果您在轉錄請求中啟用字幕,且您的音訊不包含語音,則不會建立字幕檔案。
重要
Amazon Transcribe 使用 的預設開始索引0
作為字幕輸出,這與更廣泛使用的 值不同1
。如果您需要 的開始索引1
,您可以使用 OutputStartIndex
參數在 AWS Management Console 或 API 請求中指定此索引。
使用不正確的開始索引可能會導致與其他服務的相容性錯誤,因此在建立字幕前,請務必確認您需要的開始索引。如果您不確定要使用的值,我們建議您選擇 1
。請參閱 Subtitles
,了解詳細資訊。
支援字幕的功能:
-
內容修訂 — 任何修訂後的內容會在字幕和一般文字記錄輸出檔案中顯示為「
PII
」。音訊不會改變。 -
詞彙篩選器 — 字幕檔案是從轉錄檔案產生,因此您在標準轉錄輸出中篩選的任何單字也會在字幕篩選。篩選後的內容會在您的文字記錄和字幕檔案中顯示為空格或
***
。音訊不會改變。 -
發言者分段標記 — 如果指定的字幕區段有多個發言者,則使用破折號以區分每個發言者。這同時適用於 WebVTT 和 SubRip 格式;例如:
--發言者 1 說出的文字
--發言者 2 說出的文字
字幕檔案會存放在與轉錄輸出相同的 Amazon S3 位置。
如需建立字幕的影片逐步說明,請參閱:
產生字幕檔案
您可以使用 AWS Management Console、AWS CLI 或 AWS SDK 建立字幕檔案;請參閱下列範例:
-
在導覽窗格中,選擇轉錄作業,然後選擇建立作業(右上角)。這會開啟指定作業詳細資訊頁面。字幕選項位於輸出資料面板。
-
選擇字幕檔案所需的格式,然後為開始索引選擇值。請注意, 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://amzn-s3-demo-bucket
/my-input-files
/my-media-file
.flac
\ --output-bucket-nameamzn-s3-demo-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://amzn-s3-demo-bucket
/my-input-files
/my-media-file
.flac
"
},
"OutputBucketName": "amzn-s3-demo-bucket
",
"OutputKey": "my-output-files
/",
"LanguageCode": "en-US
",
"Subtitles": {
"Formats": [
"vtt
","srt
"
],
"OutputStartIndex": 1
}
}
此範例使用 適用於 Python (Boto3) 的 AWS SDK ,使用 start_transcription_jobSubtitles
引數來新增字幕。如需詳細資訊,請參閱 StartTranscriptionJob
和 Subtitles
。
如需使用 AWS SDKs 的其他範例,包括功能特定、案例和跨服務範例,請參閱 使用 AWS SDKs Amazon Transcribe 程式碼範例章節。
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://amzn-s3-demo-bucket
/my-input-files
/my-media-file
.flac
"
transcribe.start_transcription_job(
TranscriptionJobName = job_name,
Media = {
'MediaFileUri': job_uri
},
OutputBucketName = 'amzn-s3-demo-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)