
Um bloco de legenda é um trecho de texto com um tempo de início e um tempo de término de exibição. SRT (SubRip Text) usa vírgulas antes dos milissegundos. VTT (WebVTT) começa com um cabeçalho `WEBVTT` e usa pontos antes dos milissegundos. UTF-8 é uma codificação de texto padrão que preserva os caracteres especiais. Um Actor é um programa que coleta dados da web, e uma Task é uma configuração de entrada salva para um Actor.
Para extrair legendas, use o YouTube Transcript Scraper Actor. Solicite JSON junto com os formatos SRT e VTT. A saída JSON bruta inclui campos específicos dos segmentos: `startSeconds`, `endSeconds`, `durationSeconds` e `text`. Salve apenas a string bruta da legenda como um arquivo de texto UTF-8. Não exporte o conjunto de dados inteiro como CSV nem mantenha strings JSON com sequências de escape `\n`. As entradas que falham aparecem em OUTPUT na execução, em vez de aparecerem como linhas no conjunto de dados. Uma execução de teste com 1 faixa salvou 61 blocos de legenda para validar a obtenção dos dados, mas você ainda precisa verificar a reprodução no seu próprio reprodutor.
Se não houver nenhuma legenda com marcações de tempo, consulte o guia de extração de legendas do YouTube antes de validar seus arquivos.
Método completo de conversão e validação
- Confirme a identidade do vídeo e o idioma: verifique o URL do vídeo e o idioma selecionado. Guarde os blocos de legenda originais em JSON e o URL de origem.
- Solicite os formatos de saída: solicite JSON, SRT e VTT. Verifique se há uma linha com resultado de sucesso e segmentos não vazios. Se houver falha na obtenção das legendas, use o guia de obtenção dos dados indicado no link. Não invente tempos de término a partir de texto sem marcações de tempo.
- Salve o arquivo: copie todo o conteúdo do campo `srt` para `lesson.srt` ou do campo `vtt` para `lesson.vtt`. Use um editor de texto simples com codificação UTF-8. Não mantenha as aspas do JSON, os caracteres literais `\n`, as células do CSV nem uma extensão `.txt` acrescentada ao nome do arquivo.
- Verifique a sintaxe: SRT usa números para os blocos de legenda e vírgulas antes dos milissegundos. VTT começa com `WEBVTT`, seguido de uma linha em branco, e usa pontos antes dos milissegundos. Os 2 formatos separam os blocos de legenda com linhas em branco e usam `-->` entre os tempos. Confirme que os tempos de término são posteriores aos tempos de início e verifique se os tempos de início dos blocos não diminuem ao longo da sequência. As sobreposições podem ser válidas; examine-as durante a reprodução em vez de excluí-las automaticamente.
- Verifique a reprodução do vídeo: compare os blocos de legenda do início, do meio e do fim com o vídeo no seu reprodutor. Verifique os acentos, as quebras de linha e as linhas longas. Um arquivo pode passar nas verificações de formatação e ainda exibir tempos ou textos incorretos na tela.
- Corrija os deslocamentos de tempo: se todos os blocos de legenda estiverem atrasados pelo mesmo intervalo fixo, verifique se a introdução foi removida da sua cópia local do vídeo. Desloque os tempos de início e de término por esse intervalo exato apenas para essa cópia específica. Se o erro de sincronização aumentar ao longo do tempo, um deslocamento fixo não funcionará. Quando a dessincronização aumentar, volte à fonte correta com marcações de tempo em vez de aplicar uma conversão de taxa de quadros que não foi testada.
- Salve os arquivos finais: guarde os blocos de legenda de origem e uma nota sobre quaisquer alterações de tempo aprovadas.
Arquivos de exemplo fictícios
Veja um exemplo simples com 3 blocos de legenda cujos tempos são medidos em segundos:
- Bloco 1: de `0.250` a `2.750` segundos — “Abra as configurações.”
- Bloco 2: de `3.000` a `5.500` segundos — “Escolha Français.”
- Bloco 3: de `6.000` a `8.125` segundos — “Salve a alteração.”
Arquivo SRT completo
1
00:00:00,250 --> 00:00:02,750
Open the settings.
2
00:00:03,000 --> 00:00:05,500
Choose Français.
3
00:00:06,000 --> 00:00:08,125
Save the change.Arquivo VTT completo
WEBVTT
00:00:00.250 --> 00:00:02.750
Open the settings.
00:00:03.000 --> 00:00:05.500
Choose Français.
00:00:06.000 --> 00:00:08.125
Save the change.Observe que SRT usa vírgulas (`00:00:00,250`), enquanto VTT usa pontos (`00:00:00.250`) em todos os separadores de milissegundos.
Cálculos passo a passo
Para converter segundos com casas decimais em milissegundos, multiplique por 1.000. Por exemplo, `0.250` segundos se tornam `250` milissegundos, e `8.125` segundos se tornam `00:00:08.125`.
- As durações dos blocos de legenda são 2,500 segundos, 2,500 segundos e 2,125 segundos.
- A duração total em que os blocos de legenda ficam ativos é de 7,125 segundos (`2.500 + 2.500 + 2.125`).
- O intervalo total coberto pelas legendas é de 7,875 segundos (`8.125 - 0.250`), incluindo os intervalos entre os blocos.
Nenhum desses totais mede a exatidão do texto ou a velocidade de leitura.
Exemplo separado de deslocamento de tempo
Imagine uma segunda cópia independente do vídeo, da qual foi removida uma introdução de 1,000 segundo. Um par de tempos de início e término de um bloco de legenda nesse vídeo, originalmente em `10.250–12.750` segundos, passa a ser `9.250–11.750` segundos após subtrair 1,000 segundo (`10.250 - 1 = 9.250` e `12.750 - 1 = 11.750`).
Nunca aplique esse deslocamento ao primeiro arquivo de exemplo com três blocos de legenda. Subtrair 1,000 segundo do tempo de início do primeiro bloco (`0.250`) criaria um tempo de início negativo inválido (`-0.750`). Mantenha os arquivos originais sem alterações e verifique os arquivos com os tempos deslocados em um reprodutor de vídeo antes de usá-los.
Fontes e leituras adicionais
Por Chronometrica · Atualizado
Voltar ao topo ↑

