Configurar legendas e traduções automáticas

Nesta página, explicamos como configurar legendas geradas por IA e legendas traduzidas (ou seja, traduções) para uma transmissão ao vivo.

As legendas e traduções geradas por IA são compatíveis com transmissões ao vivo HLS e DASH.

Antes de começar

Esta página pressupõe que você concluiu as etapas na seção Antes de começar do Guia de início rápido para uma transmissão ao vivo HLS ou do Guia de início rápido para uma transmissão ao vivo MPEG-DASH.

Locais suportados

Os códigos de idioma para legendas geradas por IA são compatíveis por local.

Mostrar locais

Local Códigos de idioma compatíveis
asia-northeast1 en-US
asia-south1 en-IN
en-GB
en-US
asia-southeast1 en-US
australia-southeast1 en-AU
europe-west1 da-DK
nl-NL
en-GB
en-US
fr-FR
de-DE
it-IT
es-ES
europe-west2 en-GB
europe-west3 da-DK
nl-NL
en-GB
en-US
fr-FR
de-DE
it-IT
es-ES
northamerica-northeast1 en-CA
fr-CA
us-central1 en-US
pt-BR
es-CO
es-MX
es-US
us-east1 en-US
pt-BR
es-CO
es-MX
es-US
us-west1 en-US
pt-BR
es-CO
es-MX
es-US

O recurso de tradução gerada por IA está disponível apenas para us-west1 e europe-west1.

Use us-west1 ou europe-west1 para todas as solicitações de API nesta página.

Criar o endpoint de entrada

Para criar o endpoint de entrada, use o método projects.locations.inputs.create.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_NUMBER: o número do seu projeto Google Cloud , que está localizado no campo Número do projeto na página Configurações do IAM
  • LOCATION: o local em que o endpoint de entrada será criado. Use uma das regiões compatíveis.
    Mostrar locais
    • 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: um identificador definido pelo usuário para o novo endpoint de entrada a ser criado (para onde você envia seu stream de entrada). Esse valor precisa ter de 1 a 63 caracteres, começar e terminar com [a-z0-9] e pode conter traços (-) entre os caracteres. Por exemplo, my-input.

Corpo JSON da solicitação:

{
  "type": "RTMP_PUSH"
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_NUMBER/locations/LOCATION/inputs/INPUT_ID",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Copie a OPERATION_ID retornada para usar na próxima seção.

Verificar o resultado

Use o método projects.locations.operations.get para verificar se o endpoint de entrada foi criado. Se a resposta contiver "done: false", repita o comando até que a resposta contenha "done: true". A criação do primeiro endpoint de entrada em uma região pode levar até 10 minutos.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_NUMBER: o número do seu projeto Google Cloud , que está localizado no campo Número do projeto na página Configurações do IAM
  • LOCATION: o local em que o endpoint de entrada está localizado. Use uma das regiões compatíveis.
    Mostrar locais
    • 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: o identificador da operação

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata",
    "createTime": CREATE_TIME,
    "endTime": END_TIME,
    "target": "projects/PROJECT_NUMBER/locations/LOCATION/inputs/INPUT_ID",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.video.livestream.v1.Input",
    "name": "projects/PROJECT_NUMBER/locations/LOCATION/inputs/INPUT_ID",
    "createTime": CREATE_TIME,
    "updateTime": UPDATE_TIME,
    "type": "RTMP_PUSH",
    "uri":  INPUT_STREAM_URI, # For example, "rtmp://1.2.3.4/live/b8ebdd94-c8d9-4d88-a16e-b963c43a953b",
    "tier": "HD"
  }
}

Encontre o campo uri e copie o INPUT_STREAM_URI retornado para usar mais tarde na seção Enviar o fluxo de entrada.

Criar o canal

Para criar o canal, use o método projects.locations.channels.create.

Observe o seguinte na configuração do canal:

  • Um ElementaryStream, um TextStream, é usado para as legendas.

    {
      "key": "webvtt_english_ai",
      "textStream": {
        "codec": "webvtt",
        "displayName": "English (AI captioned)",
        "languageCode": "en-US",
        "mapping": [
          {
            "inputTrack": 1 // audio track number
          }
        ]
      }
    }
    
  • O campo TextStream codec precisa ser definido como webvtt.

  • O campo TextStream mapping usa inputTrack para designar a faixa de áudio de entrada para gerar legendas. O mapeamento não pode incluir um campo inputCeaChannel, que só é usado para legendas descritivas fechadas fornecidas pelo usuário.

  • Defina languageCode como o idioma falado na faixa de áudio.

  • O fluxo elementar é usado para criar um MuxStream com a chave vtt_english_ai.

    {
      "key": "vtt_english_ai",
      "container": "vtt",
      "elementaryStreams": [
        "webvtt_english_ai"
      ],
      "segmentSettings": {
        "segmentDuration": "2s"
      }
    }
    

    Essa transmissão multiplexada é referenciada nos manifestos HLS e DASH.

    {
      "fileName": "main.m3u8",
      "type": "HLS",
      "muxStreams": [
        "mux_video_ts",
        "vtt_english_ai"
      ],
      "maxSegmentCount": 5
    }
    

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_NUMBER: o número do seu projeto Google Cloud , que está localizado no campo Número do projeto na página Configurações do IAM
  • LOCATION: o local em que o canal será criado. Use uma das regiões compatíveis.
    Mostrar locais
    • 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: um identificador definido pelo usuário para o canal a ser criado. Esse valor precisa ter de 1 a 63 caracteres, começar e terminar com [a-z0-9] e pode conter traços (-) entre os caracteres.
  • INPUT_ID: o identificador definido pelo usuário para o endpoint de entrada
  • BUCKET_NAME: o nome do bucket do Cloud Storage criado para armazenar o manifesto e os arquivos de segmento da transmissão ao vivo.

Corpo JSON da solicitação:

{
  "inputAttachments": [
    {
      "key": "my-input",
      "input": "projects/PROJECT_NUMBER/locations/LOCATION/inputs/INPUT_ID"
    }
  ],
  "output": {
    "uri": "gs://BUCKET_NAME"
  },
  "elementaryStreams": [
    {
      "key": "es_video",
      "videoStream": {
        "h264": {
          "profile": "high",
          "widthPixels": 1280,
          "heightPixels": 720,
          "bitrateBps": 3000000,
          "frameRate": 30
        }
      }
    },
    {
      "key": "es_audio",
      "audioStream": {
        "codec": "aac",
        "channelCount": 2,
        "bitrateBps": 160000
      }
    },
    {
      "key": "webvtt_english_ai",
      "textStream": {
        "codec": "webvtt",
        "displayName": "English (AI captioned)",
        "languageCode": "en-US",
        "mapping": [
          {
            "inputTrack": 1
          }
        ]
      }
    }
  ],
  "muxStreams": [
    {
      "key": "mux_video_fmp4",
      "container": "fmp4",
      "elementaryStreams": [
        "es_video"
      ],
      "segmentSettings": {
        "segmentDuration": "2s"
      }
    },
    {
      "key": "mux_audio_fmp4",
      "container": "fmp4",
      "elementaryStreams": [
        "es_audio"
      ],
      "segmentSettings": {
        "segmentDuration": "2s"
      }
    },
    {
      "key": "mux_video_ts",
      "container": "ts",
      "elementaryStreams": [
        "es_video",
        "es_audio"
      ],
      "segmentSettings": {
        "segmentDuration": "2s"
      }
    },
    {
      "key": "vtt_english_ai",
      "container": "vtt",
      "elementaryStreams": [
        "webvtt_english_ai"
      ],
      "segmentSettings": {
        "segmentDuration": "2s"
      }
    }
  ],
  "manifests": [
    {
      "key": "manifest_dash",
      "fileName": "main.mpd",
      "type": "DASH",
      "muxStreams": [
        "mux_video_fmp4",
        "mux_audio_fmp4",
        "vtt_english_ai"
      ],
      "maxSegmentCount": 5
    },
    {
      "key": "manifest_hls",
      "fileName": "main.m3u8",
      "type": "HLS",
      "muxStreams": [
        "mux_video_ts",
        "vtt_english_ai"
      ],
      "maxSegmentCount": 5
    }
  ]
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Acessar o canal

É possível verificar o resultado da operação usando o novo ID.

Depois de criar o canal, use o método projects.locations.channels.get para consultar o estado do canal.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_NUMBER: o número do seu projeto Google Cloud , que está localizado no campo Número do projeto na página Configurações do IAM
  • LOCATION: o local em que seu canal está localizado. Use uma das regiões compatíveis
    Mostrar locais
    • 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: um identificador definido pelo usuário para o canal

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

A resposta completa contém o seguinte campo:

{
  ...
  "streamingState": "STOPPED"
  ...
}

Essa resposta indica que você já pode iniciar o canal.

Iniciar o canal

Use o método projects.locations.channels.start para iniciar o canal. Um canal precisa ser iniciado antes de aceitar fluxos de entrada ou gerar um fluxo de saída.

Iniciar o primeiro canal em uma região leva cerca de 10 minutos.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_NUMBER: o número do seu projeto Google Cloud , que está localizado no campo Número do projeto na página Configurações do IAM
  • LOCATION: o local em que seu canal está localizado. Use uma das regiões compatíveis
    Mostrar locais
    • 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: um identificador definido pelo usuário para o canal

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Para determinar se o canal foi iniciado, receba as informações do canal como feito anteriormente. A resposta precisa conter o seguinte:

{
  ...
  "streamingState": "AWAITING_INPUT"
  ...
}

Enviar o stream de entrada

Agora que o canal está pronto, envie um stream de entrada para o endpoint de entrada para gerar a transmissão ao vivo. Você pode baixar um MP4 (ou outro TEST_VOD_FILE) com legendas e usar ffmpeg para enviar ao endpoint de entrada.

Abra uma nova janela do terminal. Execute o comando a seguir usando o INPUT_STREAM_URI da seção Verificar o resultado:

ffmpeg -re -stream_loop -1 -i "TEST_VOD_FILE" \
  -c:v copy -c:a aac -strict 2 -f "flv" "INPUT_STREAM_URI"

Verificar as legendas no manifesto de saída

Execute o comando a seguir para conferir o conteúdo do manifesto HLS gerado:

gcloud storage cat gs://BUCKET_NAME/main.m3u8

As legendas em inglês no formato WebVTT geradas por IA aparecem no manifesto de saída de maneira semelhante a esta:

#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="sub",LANGUAGE="en-US",NAME="English (AI captioned)",AUTOSELECT=YES,DEFAULT=YES,FORCED=NO,URI="vtt_english_ai/index-1.m3u8"

Interromper o canal

É necessário interromper um canal antes de atualizar a configuração dele.

Use o método projects.locations.channels.stop para interromper o canal.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_NUMBER: o número do seu projeto Google Cloud , que está localizado no campo Número do projeto na página Configurações do IAM
  • LOCATION: o local em que seu canal está localizado. Use uma das regiões compatíveis
    Mostrar locais
    • 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: um identificador definido pelo usuário para o canal

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Atualizar a configuração do canal para uma tradução

Atualize a configuração do canal para incluir legendas traduzidas (ou seja, uma tradução).

Observe as seguintes adições à configuração do canal:

  • Um ElementaryStream, um TextStream, é usado para as legendas de um único idioma traduzido.

    {
      "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
          }
        ]
      }
    }
    
  • Defina languageCode como o idioma traduzido escolhido.

  • Defina fromLanguageCode como o idioma de origem original na faixa de áudio.

  • O fluxo elementar é usado para criar um MuxStream com a chave vtt_spanish_ai.

    {
      "key": "vtt_spanish_ai",
      "container": "vtt",
      "elementaryStreams": [
        "webvtt_spanish_ai"
      ],
      "segmentSettings": {
        "segmentDuration": "2s"
      }
    }
    

    Essa transmissão multiplexada é referenciada nos manifestos HLS e DASH.

    {
      "fileName": "main.m3u8",
      "type": "HLS",
      "muxStreams": [
        "mux_video_ts",
        "vtt_english_ai",
        "vtt_spanish_ai"
      ],
      "maxSegmentCount": 5
    }
    

Para atualizar o canal, use o método projects.locations.channels.patch.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_NUMBER: o número do seu projeto Google Cloud , que está localizado no campo Número do projeto na página Configurações do IAM
  • LOCATION: o local em que o canal será criado. Use uma das regiões compatíveis.
    Mostrar locais
    • 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: um identificador definido pelo usuário para o canal a ser criado. Esse valor precisa ter de 1 a 63 caracteres, começar e terminar com [a-z0-9] e pode conter traços (-) entre os caracteres.

Corpo JSON da solicitação:

{
  "inputAttachments": [
    {
      "key": "my-input",
      "input": "projects/PROJECT_NUMBER/locations/LOCATION/inputs/INPUT_ID"
    }
  ],
  "output": {
    "uri": "gs://BUCKET_NAME"
  },
  "elementaryStreams": [
    {
      "key": "es_video",
      "videoStream": {
        "h264": {
          "profile": "high",
          "widthPixels": 1280,
          "heightPixels": 720,
          "bitrateBps": 3000000,
          "frameRate": 30
        }
      }
    },
    {
      "key": "es_audio",
      "audioStream": {
        "codec": "aac",
        "channelCount": 2,
        "bitrateBps": 160000
      }
    },
    {
      "key": "webvtt_english_ai",
      "textStream": {
        "codec": "webvtt",
        "displayName": "English (AI captioned)",
        "languageCode": "en-US",
        "mapping": [
          {
            "inputTrack": 1
          }
        ]
      }
    },
    {
      "key": "webvtt_spanish_ai",
      "textStream": {
        "codec": "webvtt",
        "displayName": "Spanish (AI captioned)",
        "languageCode": "es-MX",
        "mapping": [
          {
            "inputTrack": 1,
            "fromLanguageCode": "en-US"
          }
        ]
      }
    }
  ],
  "muxStreams": [
    {
      "key": "mux_video_fmp4",
      "container": "fmp4",
      "elementaryStreams": [
        "es_video"
      ],
      "segmentSettings": {
        "segmentDuration": "2s"
      }
    },
    {
      "key": "mux_audio_fmp4",
      "container": "fmp4",
      "elementaryStreams": [
        "es_audio"
      ],
      "segmentSettings": {
        "segmentDuration": "2s"
      }
    },
    {
      "key": "mux_video_ts",
      "container": "ts",
      "elementaryStreams": [
        "es_video",
        "es_audio"
      ],
      "segmentSettings": {
        "segmentDuration": "2s"
      }
    },
    {
      "key": "vtt_english_ai",
      "container": "vtt",
      "elementaryStreams": [
        "webvtt_english_ai"
      ],
      "segmentSettings": {
        "segmentDuration": "2s"
      }
    },
    {
      "key": "vtt_spanish_ai",
      "container": "vtt",
      "elementaryStreams": [
        "webvtt_spanish_ai"
      ],
      "segmentSettings": {
        "segmentDuration": "2s"
      }
    }
  ],
  "manifests": [
    {
      "key": "manifest_dash",
      "fileName": "main.mpd",
      "type": "DASH",
      "muxStreams": [
        "mux_video_fmp4",
        "mux_audio_fmp4",
        "vtt_english_ai",
        "vtt_spanish_ai"
      ],
      "maxSegmentCount": 5
    },
    {
      "key": "manifest_hls",
      "fileName": "main.m3u8",
      "type": "HLS",
      "muxStreams": [
        "mux_video_ts",
        "vtt_english_ai",
        "vtt_spanish_ai"
      ],
      "maxSegmentCount": 5
    }
  ]
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

É possível verificar o resultado da operação usando o novo ID.

Reiniciar o canal e reenviar o fluxo de entrada

Como feito anteriormente, inicie o canal e envie o fluxo de entrada novamente.

Verificar a tradução no manifesto de saída

Execute o comando a seguir para conferir o conteúdo do manifesto HLS gerado:

gcloud storage cat gs://BUCKET_NAME/main.m3u8

As legendas em inglês e espanhol geradas por IA aparecem no manifesto de saída de forma semelhante a esta:

#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="sub",LANGUAGE="en-US",NAME="English (AI captioned)",AUTOSELECT=YES,DEFAULT=YES,FORCED=NO,URI="vtt_english_ai/index-1.m3u8"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="sub",LANGUAGE="es-MX",NAME="Spanish (AI captioned)",AUTOSELECT=NO,DEFAULT=NO,FORCED=NO,URI="vtt_spanish_ai/index-1.m3u8"

Configurar transcrições geradas por IA para distribuição

Antes de configurar legendas e traduções geradas por IA para distribuição, saiba como distribuir transmissões ao vivo para endpoints remotos.

Para distribuir legendas e traduções geradas por IA para endpoints remotos, não faça referência aos fluxos de texto no formato webvtt que foram configurados anteriormente ao criar um canal com legendas geradas por IA e atualizar o canal para tradução. Os streams de texto para distribuição precisam ser legendas incorporadas, com o codec definido como cea608 ou cea708.

Na configuração do canal, considere o seguinte:

  • Um ElementaryStream, um TextStream, é usado para as legendas, e outro ElementaryStream, um TextStream, é usado para a tradução.

    {
      "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
          }
        ]
      }
    }
    
  • O campo TextStream codec precisa ser definido como cea608 ou cea708.

  • O campo TextStream mapping usa inputTrack para designar a faixa de áudio de entrada para gerar legendas. O mapeamento não pode incluir um campo inputCeaChannel, que só é usado para legendas descritivas fechadas fornecidas pelo usuário.

  • Defina o outputCeaChannel como o canal de legenda descritiva para conter transcrições geradas por IA no stream de distribuição.

  • Defina languageCode como o idioma falado na faixa de áudio.

  • Os fluxos elementares são incluídos no campo elementaryStreams do objeto DistributionStream.

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

Conclua a criação do canal seguindo o guia de distribuição de transmissões ao vivo para endpoints remotos.

Configurações avançadas

Defina AutoTranscriptionConfig no nível do canal para ajustar ainda mais os fluxos de texto gerados por IA às suas necessidades.

Marcação de tempo da exibição da legenda

Por padrão, as legendas geradas com IA são exibidas de forma assíncrona com o áudio e o vídeo. Defina o campo DisplayTiming em AutoTranscriptionConfig como SYNC para mostrar os itens de forma síncrona.

{
  "autoTranscriptionConfig": {
    "displayTiming": "SYNC"
  }
}

Mostrar legendas de forma síncrona diminui a latência de visualização entre áudio e texto, mas aumenta a latência geral de mídia de ponta a ponta.

Predefinições de qualidade

Use o campo QualityPreset em AutoTranscriptionConfig para configurar as preferências de qualidade dos fluxos de texto gerados por IA.

Por exemplo, é possível reduzir ainda mais a latência da geração de fluxo de texto definindo:

{
  "autoTranscriptionConfig" : {
    "qualityPreset": "LOW_LATENCY"
  }
}

Limpar

Interromper o canal

Use o método projects.locations.channels.stop para interromper o canal. É necessário interromper o canal antes de excluí-lo.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_NUMBER: o número do seu projeto Google Cloud , que está localizado no campo Número do projeto na página Configurações do IAM
  • LOCATION: o local em que seu canal está localizado. Use uma das regiões compatíveis
    Mostrar locais
    • 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: um identificador definido pelo usuário para o canal

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Parar o stream de entrada

Se você usou ffmpeg para enviar o fluxo de entrada, a conexão será interrompida automaticamente depois que você parar o canal.

Excluir o canal

Use o método projects.locations.channels.delete para excluir o canal. É necessário excluir o canal antes de excluir o endpoint de entrada usado por ele.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_NUMBER: o número do seu projeto Google Cloud , que está localizado no campo Número do projeto na página Configurações do IAM
  • LOCATION: o local em que seu canal está localizado. Use uma das regiões compatíveis
    Mostrar locais
    • 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: um identificador definido pelo usuário para o canal

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Excluir o endpoint de entrada

Use o método projects.locations.inputs.delete para excluir o endpoint de entrada.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_NUMBER: o número do seu projeto Google Cloud , que está localizado no campo Número do projeto na página Configurações do IAM
  • LOCATION: o local em que o endpoint de entrada está localizado. Use uma das regiões compatíveis.
    Mostrar locais
    • 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: o identificador definido pelo usuário para o endpoint de entrada

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Excluir o bucket do Cloud Storage

  1. No console Google Cloud , acesse a página "Navegador do Cloud Storage".

    Acessar a página "Navegador do Cloud Storage"

  2. Marque a caixa de seleção ao lado do bucket criado.

  3. Clique em Excluir.

  4. Na caixa de diálogo exibida, clique em Excluir para excluir o bucket e o conteúdo dele.