Creazione video - Amazon Transcribe

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione video

Amazon Transcribesupporta l'output WebVTT (*.vtt) e SubRip (*.srt) da utilizzare come sottotitoli video. Puoi selezionare uno o entrambi i tipi di file quando configuri il processo di trascrizione video in batch. Quando si utilizza la funzione di sottotitoli, vengono prodotti i file di sottotitoli selezionati e un normale file di trascrizione (contenente informazioni aggiuntive). I file di sottotitoli e trascrizione vengono inviati alla stessa destinazione.

I sottotitoli vengono visualizzati contemporaneamente alla pronuncia del testo e rimangono visibili fino a quando non si verifica una pausa naturale o l'altoparlante non finisce di parlare. Tieni presente che se abiliti i sottotitoli nella tua richiesta di trascrizione e l'audio non contiene alcuna voce, non viene creato un file di sottotitoli.

Importante

Amazon Transcribeutilizza un indice iniziale predefinito di 0 per l'output dei sottotitoli, che differisce dal valore più utilizzato di. 1 Se hai bisogno di un indice iniziale di1, puoi specificarlo nella AWS Management Console o nella tua richiesta API utilizzando il OutputStartIndexparametro.

L'utilizzo di un indice iniziale errato può causare errori di compatibilità con altri servizi, quindi assicurati di verificare l'indice iniziale richiesto prima di creare i sottotitoli. Se non sei sicuro del valore da utilizzare, ti consigliamo di scegliere1. SubtitlesPer ulteriori informazioni, fare riferimento a.

Funzionalità supportate con i sottotitoli:

  • Redazione dei contenuti: qualsiasi contenuto redatto viene visualizzato come «PII» sia nei sottotitoli che nei normali file di output della trascrizione. L'audio non viene alterato.

  • Filtri del vocabolario: i file dei sottotitoli vengono generati dal file di trascrizione, quindi tutte le parole filtrate nell'output di trascrizione standard vengono filtrate anche nei sottotitoli. I contenuti filtrati vengono visualizzati come spazi bianchi o *** nei file di trascrizione e sottotitoli. L'audio non viene alterato.

  • Diarizzazione degli altoparlanti: se ci sono più altoparlanti in un determinato segmento di sottotitoli, vengono utilizzati dei trattini per distinguere ciascun altoparlante. Questo vale sia per WebVTT che per i SubRip formati; ad esempio:

    • -- Testo pronunciato dalla Persona 1

    • -- Testo pronunciato dalla Persona 2

I file dei sottotitoli vengono archiviati nella stessa Amazon S3 posizione dell'output della trascrizione.

Per una panoramica video sulla creazione dei sottotitoli, vedi:

Generazione di file di sottotitoli

Puoi creare file di sottotitoli usando AWS Management Console, AWS CLI, o AWSSDK; vedi i seguenti esempi:

  1. Accedere alla AWS Management Console.

  2. Nel riquadro di navigazione, scegli Lavori di trascrizione, quindi seleziona Crea lavoro (in alto a destra). Si apre la pagina Specifica i dettagli del lavoro. Le opzioni dei sottotitoli si trovano nel pannello Dati di output.

  3. Seleziona i formati che desideri per i tuoi file di sottotitoli, quindi scegli un valore per l'indice iniziale. Nota che l'Amazon Transcribeimpostazione predefinita è0, ma 1 è più ampiamente utilizzata. Se non sei sicuro del valore da utilizzare, ti consigliamo di scegliere1, poiché ciò potrebbe migliorare la compatibilità con altri servizi.

    Amazon Transcribeschermata della console: il riquadro «dati di output» nella pagina «specifica i dettagli del lavoro».
  4. Compila tutti gli altri campi che desideri includere nella pagina Specifica i dettagli del lavoro, quindi seleziona Avanti. Viene visualizzata la pagina Configura job - opzionale.

  5. Seleziona Crea lavoro per eseguire il processo di trascrizione.

Questo esempio utilizza il start-transcription-jobcomando e il Subtitles parametro. Per ulteriori informazioni, consultare StartTranscriptionJob e Subtitles.

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

Ecco un altro esempio che utilizza il start-transcription-jobcomando e un corpo della richiesta che aggiunge i sottotitoli a quel lavoro.

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

Il file my-first-subtitle-job.json contiene il seguente corpo della richiesta.

{ "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 } }

Questo esempio utilizza il AWS SDK for Python (Boto3) per aggiungere i sottotitoli utilizzando l'Subtitlesargomento per il metodo start_transcription_job. Per ulteriori informazioni, consultare StartTranscriptionJob e Subtitles.

Per ulteriori esempi di utilizzo degli AWS SDK, inclusi esempi relativi a funzionalità specifiche, scenari e cross-service, consulta il capitolo. Esempi di codice per Amazon Transcribe tramite SDK 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)