

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ビデオ字幕の作成
<a name="subtitles"></a>

Amazon Transcribe は、ビデオ字幕として使用するために WebVTT (\*.vtt) および SubRip (\*.srt) 出力をサポートします。バッチビデオ文字起こしジョブを設定するときに、1 つまたは両方のファイルタイプを選択できます。字幕機能を使用すると、選択した文字起こしファイルと通常の文字起こしファイル (追加情報を含む) が生成されます。字幕と文字起こしファイルは、同じ出力先に出力されます。

字幕は、テキストが話されると同時に表示され、自然な一時停止があるか、スピーカーが話しかけるまで表示され続けます。文字起こしリクエストで字幕を有効にしても、音声に会話が含まれていない場合、字幕ファイルは作成されないことに注意してください。

**重要**  
Amazon Transcribe は、字幕出力`0`に のデフォルトの開始インデックスを使用します。これは、 のより広く使用されている値とは異なります`1`。の開始インデックスが必要な場合は`1`、 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Subtitles.html#transcribe-Type-Subtitles-OutputStartIndex](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Subtitles.html#transcribe-Type-Subtitles-OutputStartIndex)パラメータを使用して、 AWS マネジメントコンソール または API リクエストで指定できます。

誤った開始インデックスを使用すると、他のサービスとの互換性エラーが発生する可能性があるため、字幕を作成する前に、どの開始インデックスが必要かを確認してください。どの値を使うべきかわからない場合は、`1` を選択することをおすすめします。詳細については、「[https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Subtitles.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Subtitles.html)」を参照してください。

字幕でサポートされる機能は次のとおりです。
+ **コンテンツのリダクション** — 編集されたコンテンツは、字幕と通常の文字起こし出力ファイルで「`PII`」として反映されます。音声は変更されません。
+ **語彙フィルター** — 字幕ファイルは文字起こしファイルから生成されるため、標準の文字起こし出力でフィルタリングした単語も字幕でフィルタリングされます。フィルタされたコンテンツは文字起こしと字幕ファイルに空白 または `***` として表示されます。音声は変更されません。
+ **話者ダイアライゼーション** — 特定の字幕セグメントに複数のスピーカーがある場合、ダッシュを使用して各スピーカーを区別します。これは WebVTT 形式と subRip 形式の両方に適用されます。次に例を示します。
  + — 人によって話されるテキスト 1
  + — 人によって話されるテキスト 2

字幕ファイルは、文字起こし出力と同じ Amazon S3 場所に保存されます。

字幕作成のビデオチュートリアルについては、以下を参照してください。

[![AWS Videos](http://img.youtube.com/vi/PZdfXGggcH4/0.jpg)](http://www.youtube.com/watch?v=PZdfXGggcH4)


## 字幕ファイルの生成
<a name="subtitles-how-to"></a>

**AWS マネジメントコンソール**、**AWS CLI**、または **AWS SDK** を使用して字幕ファイルを作成できます。次の例を参照してください。

### AWS マネジメントコンソール
<a name="subtitles-console"></a>

1. [AWS マネジメントコンソール](https://console.aws.amazon.com/transcribe/) にサインインします。

1. ナビゲーションペインで、[**文字起こしジョブ**] を選択後、[**ジョブの作成**] (右上) を選択します。これにより、「**ジョブの詳細を指定**」ページが開きます。字幕オプションは、**出力データ** パネルにあります。

1. 字幕ファイルに必要な形式を選択し、開始インデックスの値を選択します。 Amazon Transcribe デフォルトは ですが`0`、`1`より広く使用されていることに注意してください。どの値を使うべきかわからない場合は、他のサービスとの互換性が向上する可能性があるため、`1` を選択することをおすすめします。  
![Amazon Transcribe コンソールのスクリーンショット: 「ジョブの詳細を指定」ページの「出力データ」ペイン。](http://docs.aws.amazon.com/ja_jp/transcribe/latest/dg/images/subtitles-startindex.png)

1. **ジョブの詳細を指定**ページに追加したいその他のフィールドに入力し、「**次へ**」を選択します。これにより、**ジョブの設定 - *オプション*ページ**へ移動します。

1. **[ジョブの作成]** を選択して、文字起こしジョブを実行します。

### AWS CLI
<a name="subtitles-cli"></a>

この例では、[start-transcription-job](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/transcribe/start-transcription-job.html) コマンドと `Subtitles` パラメータを使用します。詳細については、「[https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html)」および「[https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Subtitles.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Subtitles.html)」を参照してください。

```
aws transcribe start-transcription-job \
--region {{us-west-2}} \
--transcription-job-name {{my-first-transcription-job}} \
--media MediaFileUri=s3://{{amzn-s3-demo-bucket}}/{{my-input-files}}/{{my-media-file}}.{{flac}} \
--output-bucket-name {{amzn-s3-demo-bucket}} \
--output-key {{my-output-files}}/ \
--language-code {{en-US}} \
--subtitles Formats={{vtt}},{{srt}},OutputStartIndex={{1}}
```

別の例として、[文字起こしジョブの開始](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/transcribe/start-transcription-job.html) コマンド、およびそのジョブに字幕を追加するリクエストボディを使用します。

```
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}}
   }
}
```

### AWS SDK for Python (Boto3)
<a name="subtitles-python-batch"></a>

この例では、 を使用して AWS SDK for Python (Boto3) 、[start\_transcription\_job](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/transcribe.html#TranscribeService.Client.start_transcription_job) メソッドの `Subtitles`引数を使用して字幕を追加します。詳細については、「[https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html)」および「[https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Subtitles.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Subtitles.html)」を参照してください。

機能固有の例、シナリオ例、クロスサービス例など、 AWS SDKs[SDK を使用した Amazon Transcribe のコード例 AWS SDKs](service_code_examples.md)「」の章を参照してください。

```
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)
```