“Sincronizar legendas com Rust” é um projeto prático para estudantes de Rust que querem transformar um arquivo real sem perder seu conteúdo. O título de abertura de um curta mudou, então todas as legendas precisam do mesmo deslocamento temporal. Você criará uma ferramenta que exporta uma faixa WebVTT reproduzível e preserva as legendas originais, o vídeo e os resultados anteriores.
Dois laboratórios guiados avançam dos cálculos de tempo com verificação de estouro para a validação do arquivo completo e a criação protegida da saída. Um desafio combina as mesmas técnicas para outro filme e a direção oposta de deslocamento. Cada laboratório começa de forma independente com seu próprio projeto e arquivos preparados.
O que você aprenderá
Ao concluir o curso, você poderá:
- converter campos de timestamp validados em milissegundos inteiros com verificação de estouro nas multiplicações e adições;
- deslocar os dois limites de cada legenda pelo mesmo valor com sinal, preservando duração, ordem no arquivo, texto Unicode e multilinha completo, sobreposições válidas e horários de início iguais;
- tratar entradas malformadas ou não suportadas, tempos negativos após o deslocamento e estouro de inteiros por meio de erros
Resultcom contexto; - validar e transformar toda a coleção antes de criar uma nova saída, rejeitar caminhos de saída existentes e preservar o trabalho anterior ao tentar novamente;
- carregar o arquivo realmente exportado em Preview, conferir os pontos visuais públicos de alinhamento, reproduzir o vídeo com sua faixa de legendas real e baixar os arquivos carregados.
Para quem é este curso
Este curso é indicado para quem está pronto para combinar tipos de dados e operações com arquivos de Rust já conhecidos em uma pequena ferramenta de transformação com erros recuperáveis.
Pré-requisitos: Uso básico do terminal e conhecimento de structs, enums, Vec, Result, strings, leitura e escrita de arquivos, testes básicos e laços em Rust. Build Your First Rust CLI é recomendado, mas opcional; não é necessário conhecer clap.
Ambiente de aprendizagem: A LabEx fornece Terminal e Preview, um projeto Rust preparado e curtas sintéticos originais sem som, com cartões de cena visíveis e momentos de observação públicos. O parser, o formatador, a interface de comandos e o reprodutor de arquivos reais são fornecidos. Os rótulos da interface e a saída dos comandos permanecem em inglês.
Perguntas frequentes
Vou escrever um parser completo de legendas ou transcrever vídeos?
Não. O curso usa um subconjunto definido de WebVTT de texto simples. Você implementa a conversão de tempo, o deslocamento de uma legenda e da coleção completa e a proteção da exportação. Suporte completo a WebVTT, transcrição, tradução e codificação de áudio ou vídeo ficam fora do curso.
Uma execução corrigida pode sobrescrever um resultado anterior?
Não. Caminhos de saída existentes são rejeitados. Você aprende a preservar um resultado anterior em um diretório de backup novo e único antes de recriar o nome exigido. Legendas inválidas mais adiante no arquivo são rejeitadas antes da criação da saída, sem deixar uma exportação parcial.
Quanto tempo devo reservar?
O autor estima 140 minutos, incluindo leitura, verificações visuais e recuperação de erros comuns. Essa estimativa ainda não foi validada em um percurso completo com iniciantes.

