

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Criar legendas de vídeo
<a name="subtitles"></a>

O Amazon Transcribe é compatível com a saída WebVTT (\$1.vtt) e SubRip (\$1.srt) para uso como legendas de vídeo. Você pode selecionar um ou ambos os tipos de arquivo ao configurar seu trabalho de transcrição de vídeo em lote. Ao usar o recurso de legenda, seus arquivos de legenda selecionados e um arquivo de transcrição normal (contendo informações adicionais) são produzidos. Os arquivos de legenda e transcrição são enviados para o mesmo destino.

As legendas são exibidas ao mesmo tempo em que o texto é falado e permanecem visíveis até que haja uma pausa natural ou o locutor pare de falar. Observe que, se você habilitar legendas na solicitação de transcrição e o áudio não contiver fala, não será criado um arquivo de legenda.

**Importante**  
O Amazon Transcribe usa um índice inicial padrão de `0` para a saída de legendas, que difere do valor mais amplamente usado de `1`. Se você precisar de um índice inicial de `1`, poderá especificá-lo no Console de gerenciamento da AWS ou em na solicitação de API usando o parâmetro [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).

Usar o índice inicial incorreto pode resultar em erros de compatibilidade com outros serviços, portanto, verifique de qual índice inicial você precisa antes de criar legendas. Se você não tiver certeza de qual valor usar, recomendamos escolher `1`. Consulte [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Subtitles.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Subtitles.html) para obter mais informações.

Recursos compatíveis com legendas:
+ **Edição de conteúdo**: qualquer conteúdo editado é refletido como “`PII`” nos arquivos de saída da legenda e da transcrição normal. O áudio não é alterado.
+ **Filtros de vocabulário**: os arquivos de legenda são gerados com base no arquivo de transcrição; portanto, todas as palavras filtradas na saída da transcrição padrão também são filtradas nas legendas. O conteúdo filtrado é exibido como espaço em branco ou `***` nos arquivos de transcrição e legenda. O áudio não é alterado.
+ **Diarização do locutor**: se houver vários locutores em determinado segmento da legenda, serão usados traços para distinguir cada um deles. Isso se aplica aos formatos WebVTT e SubRip. Por exemplo:
  + -- Texto falado pela pessoa 1
  + -- Texto falado pela pessoa 2

Os arquivos de legenda são armazenados no mesmo local do Amazon S3 que a saída da transcrição.

Para ver um tutorial em vídeo sobre a criação de legendas, consulte:

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


## Gerar arquivos de legenda
<a name="subtitles-how-to"></a>

Você pode criar arquivos de legenda usando o **Console de gerenciamento da AWS**, a **AWS CLI** ou os **SDKs da AWS**. Veja os seguintes exemplos:

### Console de gerenciamento da AWS
<a name="subtitles-console"></a>

1. Faça login no [Console de gerenciamento da AWS](https://console.aws.amazon.com/transcribe/).

1. No painel de navegação, escolha **Tarefas de transcrição** e selecione **Criar tarefa** (no canto superior direito). Isso abre a página **Especificar os detalhes da tarefa**. As opções de legenda estão localizadas no painel **Dados de saída**.

1. Selecione os formatos que você deseja para os arquivos de legenda e escolha um valor para o índice inicial. Observe que o Amazon Transcribe padrão é `0`, mas `1` é mais amplamente usado. Se você não tiver certeza de qual valor usar, recomendamos escolher `1`, pois isso pode melhorar a compatibilidade com outros serviços.  
![\[Captura de tela do console do Amazon Transcribe: o painel “Dados de saída” na página “Especificar os detalhes da tarefa”.\]](http://docs.aws.amazon.com/pt_br/transcribe/latest/dg/images/subtitles-startindex.png)

1. Preencha os outros campos que deseja incluir na página **Especificar os detalhes da tarefa** e selecione **Próximo**. Isso leva você à página **Configurar tarefa: *opcional***.

1. Selecione **Criar tarefa** para executar a tarefa de transcrição. 

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

Este exemplo usa o comando [start-transcription-job](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/transcribe/start-transcription-job.html) e o parâmetro `Subtitles`. Para obter mais informações, consulte [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html) e [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
```

Veja a seguir outro exemplo usando o comando [start-transcription-job](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/transcribe/start-transcription-job.html) e um corpo de solicitação que adiciona legendas a esse trabalho.

```
aws transcribe start-transcription-job \
--region us-west-2 \
--cli-input-json file://my-first-subtitle-job.json
```

O arquivo *my-first-subtitle-job.json* contém o corpo de solicitação a seguir.

```
{
  "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 para Python (Boto3)
<a name="subtitles-python-batch"></a>

Este exemplo utiliza o AWS SDK para Python (Boto3) para adicionar legendas usando o argumento `Subtitles` para o método [start\$1transcription\$1job](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/transcribe.html#TranscribeService.Client.start_transcription_job). Para obter mais informações, consulte [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html) e [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Subtitles.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Subtitles.html).

Para ver exemplos adicionais de uso dos SDKs da AWS, bem como exemplos específicos de recursos, cenários e entre serviços, consulte o capítulo [Exemplos de código para o Amazon Transcribe usando 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)
```