本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
組建影片字幕
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或 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
} }
此範例會AWS SDK for Python (Boto3)使用使用Subtitles
引數來新增字幕。StartTranscriptionJob
及 Subtitles
。
如需使用 AWS SDK 的其他範例,包括特定功能、案例和跨服務範例,請參閱本章。使用 SDK 進行 Amazon Transcribe 的代碼示例 AWS
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)