«Синхронизация субтитров на Rust» — практический проект для изучающих Rust, которые хотят преобразовать настоящий файл без потери содержимого. Начальная заставка короткого фильма изменилась, поэтому всем субтитрам нужен одинаковый временной сдвиг. Вы создадите инструмент, который экспортирует воспроизводимую дорожку WebVTT и сохраняет исходные субтитры, видео и предыдущие результаты.
Две пошаговые лабораторные работы ведут от вычислений времени с проверкой переполнения к проверке целого файла и защищённому созданию результата. В одном задании те же методы объединяются для другого фильма и противоположного направления сдвига. Каждая лабораторная работа начинается независимо со своим подготовленным проектом и файлами.
Чему вы научитесь
После завершения курса вы сможете:
- преобразовывать проверенные поля временной метки в целые миллисекунды с проверкой переполнения при умножении и сложении;
- сдвигать обе границы каждого субтитра на одинаковую знаковую величину, сохраняя длительность, порядок в файле, полный Unicode- и многострочный текст, допустимые перекрытия и одинаковое время начала;
- обрабатывать неправильные или неподдерживаемые входные данные, отрицательное время после сдвига и переполнение целых через ошибки
Resultс контекстом; - проверять и преобразовывать всю коллекцию до создания нового выходного файла, отклонять существующие выходные пути и сохранять прежнюю работу при повторной попытке;
- загружать фактически экспортированный файл в Preview, проверять открыто указанные визуальные точки синхронизации, воспроизводить видео с настоящей дорожкой субтитров и скачивать загруженные файлы.
Для кого этот курс
Курс предназначен для тех, кто готов объединить знакомые типы данных Rust и файловые операции в небольшой инструмент преобразования с восстанавливаемыми ошибками.
Предварительные требования: Базовая работа с терминалом и знание структур Rust, enum, Vec, Result, строк, чтения и записи файлов, простых тестов и циклов. Build Your First Rust CLI рекомендуется, но не обязателен; знание clap не требуется.
Учебная среда: LabEx предоставляет Terminal и Preview, подготовленный проект Rust и оригинальные синтетические немые короткие фильмы с видимыми карточками сцен и указанными моментами наблюдения. Парсер, средство форматирования, командный интерфейс и проигрыватель настоящих файлов уже предоставлены. Названия элементов интерфейса и вывод команд остаются на английском языке.
Часто задаваемые вопросы
Нужно ли писать полный парсер субтитров или расшифровывать видео?
Нет. Курс использует определённое подмножество WebVTT с обычным текстом. Вы реализуете преобразование времени, сдвиг одного субтитра и всей коллекции, а также защищённый экспорт. Полная поддержка WebVTT, расшифровка, перевод и кодирование аудио или видео не входят в курс.
Может ли исправленный запуск перезаписать прежний результат?
Нет. Существующие выходные пути отклоняются. Вы научитесь сохранять прежний результат в уникальном новом каталоге резервной копии, прежде чем заново создать файл с требуемым именем. Неправильные субтитры далее по файлу отклоняются до создания результата, не оставляя частичного экспорта.
Сколько времени нужно выделить?
Автор оценивает длительность в 140 минут с учётом чтения, визуальных проверок и восстановления после обычных ошибок. Оценка ещё не проверена при прохождении курса новичками.

