Configurare i sottotitoli codificati e le traduzioni automatiche
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Questa pagina spiega come configurare i sottotitoli codificati generati con l'AI e i sottotitoli codificati tradotti (ovvero le traduzioni) per uno stream live.
I sottotitoli codificati e le traduzioni generati con l'AI sono supportati per i live streaming HLS e DASH.
Prima di utilizzare i dati della richiesta,
apporta le seguenti sostituzioni:
PROJECT_NUMBER: il numero del tuo progetto Google Cloud ; si trova nel campo Numero progetto nella pagina Impostazioni IAM
LOCATION: la località in cui creare l'endpoint di input; utilizza una delle regioni supportate
Mostra località
us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
INPUT_ID: un identificatore definito dall'utente per il nuovo endpoint di input da creare (a cui invii il flusso di input). Questo valore deve contenere da 1 a 63 caratteri, iniziare e terminare con [a-z0-9] e può contenere trattini (-) tra i caratteri. Ad esempio: my-input.
Corpo JSON della richiesta:
{
"type": "RTMP_PUSH"
}
Per inviare la richiesta, espandi una di queste opzioni:
curl (Linux, macOS o Cloud Shell)
Salva il corpo della richiesta in un file denominato request.json.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
Salva il corpo della richiesta in un file denominato request.json.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
Copia il valore OPERATION_ID restituito da utilizzare nella sezione successiva.
Controlla il risultato
Utilizza il metodo projects.locations.operations.get per verificare se
l'endpoint di input è stato creato. Se la risposta contiene "done: false",
ripeti il comando finché la risposta non contiene "done: true". La creazione del
primo endpoint di input in una regione può richiedere fino a 10 minuti.
Prima di utilizzare i dati della richiesta,
apporta le seguenti sostituzioni:
PROJECT_NUMBER: il numero del tuo progetto Google Cloud ; si trova nel campo Numero progetto nella pagina Impostazioni IAM
LOCATION: la località in cui si trova l'endpoint di input; utilizza una delle regioni supportate
Mostra località
us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
OPERATION_ID: l'identificatore dell'operazione
Per inviare la richiesta, espandi una di queste opzioni:
Il campo TextStreamcodec deve essere impostato su webvtt.
Il campo TextStreammapping utilizza
inputTrack per indicare la traccia audio
di input da cui generare i sottotitoli codificati. La mappatura non deve includere un campo
inputCeaChannel, che viene utilizzato solo per i sottotitoli codificati forniti dagli utenti.
Imposta languageCode sulla lingua parlata
nella traccia audio.
Lo stream elementare viene utilizzato per creare un MuxStream con chiave
vtt_english_ai.
Prima di utilizzare i dati della richiesta,
apporta le seguenti sostituzioni:
PROJECT_NUMBER: il numero del tuo progetto Google Cloud ; si trova nel campo Numero progetto nella pagina Impostazioni IAM
LOCATION: la località in cui creare il canale; utilizza una delle regioni supportate
Mostra località
us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID: un identificatore definito dall'utente per il canale da
creare; questo valore deve contenere da 1 a 63 caratteri, iniziare e terminare con [a-z0-9] e
può contenere trattini (-) tra i caratteri
INPUT_ID: l'identificatore definito dall'utente per l'endpoint di input
BUCKET_NAME: il nome del bucket Cloud Storage
che hai creato per contenere i file manifest e segmento del live streaming
Per inviare la richiesta, espandi una di queste opzioni:
curl (Linux, macOS o Cloud Shell)
Salva il corpo della richiesta in un file denominato request.json.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
Salva il corpo della richiesta in un file denominato request.json.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
Questa risposta indica che ora puoi avviare il canale.
Avviare il canale
Utilizza il metodo projects.locations.channels.start per avviare il
canale. Un canale deve essere avviato prima di poter accettare flussi di input o
generare un flusso di output.
L'avvio del primo canale in una regione richiede circa 10 minuti.
Prima di utilizzare i dati della richiesta,
apporta le seguenti sostituzioni:
PROJECT_NUMBER: il numero del tuo progetto Google Cloud ; si trova nel campo Numero progetto nella pagina Impostazioni IAM
LOCATION: la località in cui si trova il tuo canale; utilizza una delle regioni supportate
Mostra località
us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID: un identificatore definito dall'utente per il canale
Per inviare la richiesta, espandi una di queste opzioni:
Per determinare se il canale è stato avviato, recupera le informazioni
come fatto in precedenza. La risposta deve contenere quanto segue:
{
...
"streamingState": "AWAITING_INPUT"
...
}
Inviare il flusso di input
Ora che il canale è pronto, invia un flusso di input all'endpoint di input per generare il live streaming. Puoi scaricare un file MP4 (o un altro
TEST_VOD_FILE) con i sottotitoli codificati e
utilizzare ffmpeg per inviarlo all'endpoint di input.
Apri una nuova finestra del terminale. Esegui questo comando utilizzando
INPUT_STREAM_URI della sezione
Controlla il risultato:
Aggiorna la configurazione del canale per una traduzione
Aggiorna la configurazione del canale in modo da includere i sottotitoli codificati tradotti (ovvero una
traduzione).
Tieni presente le seguenti aggiunte alla configurazione del canale:
Un
ElementaryStream, un TextStream, viene
utilizzato per i sottotitoli codificati di una singola lingua tradotta.
{"key":"webvtt_spanish_ai","textStream":{"codec":"webvtt","displayName":"Spanish (AI captioned)","languageCode":"es-MX","mapping":[{"inputTrack":1,// audio track number"fromLanguageCode":"en-US"// original audio in English}]}}
Imposta languageCode sulla lingua tradotta
che preferisci.
Imposta fromLanguageCode sulla
lingua di origine originale nella traccia audio.
Lo stream elementare viene utilizzato per creare un MuxStream con chiave
vtt_spanish_ai.
Prima di utilizzare i dati della richiesta,
apporta le seguenti sostituzioni:
PROJECT_NUMBER: il numero del tuo progetto Google Cloud ; si trova nel campo Numero progetto nella pagina Impostazioni IAM
LOCATION: la località in cui creare il canale; utilizza una delle regioni supportate
Mostra località
us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID: un identificatore definito dall'utente per il canale da
creare; questo valore deve contenere da 1 a 63 caratteri, iniziare e terminare con [a-z0-9] e
può contenere trattini (-) tra i caratteri
Per inviare la richiesta, espandi una di queste opzioni:
curl (Linux, macOS o Cloud Shell)
Salva il corpo della richiesta in un file denominato request.json.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
Salva il corpo della richiesta in un file denominato request.json.
Esegui questo comando nel terminale per creare o sovrascrivere
questo file nella directory corrente:
Configurare le trascrizioni generate con l'AI per la distribuzione
Prima di configurare i sottotitoli codificati e le traduzioni creati con l'AI per la distribuzione,
acquisisci familiarità con la procedura per
distribuire i live streaming a endpoint remoti.
{"key":"embedded_english_ai","textStream":{"codec":"cea608","displayName":"English (AI captioned)","languageCode":"en-US","outputCeaChannel":"CC1",// closed caption channel that will contain AI-generated English captions"mapping":[{"inputTrack":1// audio track number}]}}{"key":"embedded_spanish_ai","textStream":{"codec":"cea608","displayName":"Spanish (AI captioned)","languageCode":"es-MX","outputCeaChannel":"CC2",// closed caption channel that will contain AI-generated Spanish captions"mapping":[{"inputTrack":1,// audio track number"fromLanguageCode":"en-US"// original audio in English}]}}
Il campo TextStreamcodec deve essere impostato su cea608 o cea708.
Il campo TextStreammapping utilizza
inputTrack per indicare la traccia audio
di input da cui generare i sottotitoli codificati. La mappatura non deve includere un campo
inputCeaChannel, che viene utilizzato solo per i sottotitoli codificati forniti dagli utenti.
Imposta outputCeaChannel sul canale dei sottotitoli codificati in modo che contenga le trascrizioni generate con l'AI nel flusso di distribuzione.
Imposta languageCode sulla lingua parlata
nella traccia audio.
{"distributionStreams":[{"key":"ds1","container":"ts",// to be used with an SRT distribution"elementaryStreams":["es_video","es_audio","embedded_english_ai",// distribute both English"embedded_spanish_ai"// and Spanish captions]},{"key":"ds2","container":"flv",// to be used with an RTMP distribution"elementaryStreams":["es_video","es_audio","embedded_spanish_ai"// only distribute Spanish captions]}]}
Imposta AutoTranscriptionConfig a livello di canale
per perfezionare ulteriormente i flussi di testo generati con l'AI in base alle tue esigenze.
Sincronizzazione della visualizzazione dei sottotitoli codificati
Per impostazione predefinita, i sottotitoli codificati creati con l'AI vengono visualizzati in modo asincrono rispetto all'audio
e al video. Imposta il campo DisplayTiming in AutoTranscriptionConfig su SYNC per visualizzarli in modo sincrono.
La visualizzazione sincrona dei sottotitoli codificati riduce la latenza di visualizzazione tra audio e testo, ma aumenta la latenza end-to-end complessiva dei contenuti multimediali.
Preset di qualità
Utilizza il campo QualityPreset in
AutoTranscriptionConfig per configurare le preferenze di qualità per i flussi di testo
creati con l'AI.
Ad esempio, puoi ridurre ulteriormente la latenza della generazione del flusso di testo impostando:
Se hai utilizzato ffmpeg per inviare il flusso di input, la connessione viene interrotta automaticamente
dopo l'interruzione del canale.
Eliminare il canale
Utilizza il
metodo projects.locations.channels.delete per eliminare il
canale. Devi eliminare il canale prima di poter eliminare l'endpoint di input
utilizzato dal canale.
Prima di utilizzare i dati della richiesta,
apporta le seguenti sostituzioni:
PROJECT_NUMBER: il numero del tuo progetto Google Cloud ; si trova nel campo Numero progetto nella pagina Impostazioni IAM
LOCATION: la località in cui si trova il tuo canale; utilizza una delle regioni supportate
Mostra località
us-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID: un identificatore definito dall'utente per il canale
Per inviare la richiesta, espandi una di queste opzioni:
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-19 UTC."],[],[],null,[]]