Sincronizar subtítulos con Rust es un proyecto práctico para quienes quieren transformar un archivo real sin perder su contenido. El título inicial de un cortometraje ha cambiado y todos los subtítulos necesitan el mismo desplazamiento temporal. Crearás una herramienta que exporte una pista WebVTT reproducible y conserve los subtítulos originales, el vídeo y los resultados anteriores.
Dos laboratorios guiados avanzan desde los cálculos temporales comprobados hasta la validación del archivo completo y la creación protegida de la salida. Un desafío combina las mismas técnicas con otra película y la dirección de desplazamiento opuesta. Cada laboratorio comienza de forma independiente con su propio proyecto y archivos preparados.
Lo que aprenderás
Al completar el curso, podrás:
- convertir campos de tiempo ya validados en milisegundos enteros mediante multiplicaciones y sumas con comprobación de desbordamiento;
- desplazar ambos extremos de cada entrada con un único desplazamiento con signo, conservando la duración, el orden del archivo, el texto Unicode y multilínea completo, los solapamientos válidos y los inicios iguales;
- gestionar entradas mal formadas o no admitidas, tiempos negativos tras el desplazamiento y desbordamientos mediante errores
Resultcon contexto; - validar y transformar toda la colección antes de crear una salida nueva, rechazar rutas de salida existentes y conservar el trabajo anterior al reintentar;
- cargar el archivo exportado real en Preview, comprobar puntos visuales de alineación públicos, reproducir el vídeo con su pista de subtítulos real y descargar los archivos cargados.
A quién va dirigido este curso
Este curso está pensado para quienes quieran combinar tipos de datos y operaciones con archivos de Rust ya conocidos en una pequeña herramienta de transformación con errores recuperables.
Requisitos previos: Uso básico de la terminal y conocimientos de structs, enums, Vec, Result, cadenas, lectura y escritura de archivos, pruebas básicas y bucles en Rust. Se recomienda Build Your First Rust CLI, pero no es obligatorio; no necesitas conocer clap.
Entorno de aprendizaje: LabEx proporciona Terminal y Preview, un proyecto Rust preparado y cortometrajes sintéticos originales sin sonido, con tarjetas de escena visibles y tiempos de observación públicos. El analizador, el formateador, la interfaz de comandos y el reproductor de archivos reales ya están incluidos. Las etiquetas de la interfaz y la salida de los comandos permanecen en inglés.
Preguntas frecuentes
¿Escribiré un analizador completo de subtítulos o transcribiré vídeo?
No. El curso utiliza un subconjunto definido de WebVTT de texto plano. Implementas la conversión temporal, el desplazamiento de una entrada y de la colección completa y la protección de la exportación. Quedan fuera el soporte completo de WebVTT, la transcripción, la traducción y la codificación de audio o vídeo.
¿Una ejecución corregida puede sobrescribir un resultado anterior?
No. Las rutas de salida existentes se rechazan. Aprendes a conservar el resultado anterior en un directorio de copia único antes de recrear el nombre requerido. Las entradas inválidas posteriores se rechazan antes de crear la salida, sin dejar una exportación parcial.
¿Cuánto tiempo debo reservar?
El autor estima 140 minutos, incluida la lectura, las comprobaciones visuales y la recuperación de errores habituales. La estimación no se ha validado mediante una prueba con principiantes.

