Русский

Видео и субтитры · Инструментарий субтитров

Один главный файл субтитров для каждой платформы: рабочий процесс SRT и WebVTT.

· Почему это важно

субтитры СРТ вебвтт форматы файлов обработка браузера

Один главный список вызовов, разветвляющийся на файлы доставки SRT и WebVTT.
Оригинальная векторная иллюстрация ToolAcre

Сохранение отдельных файлов подписей для каждой платформы увеличивает количество ошибок. В этом посте описан рабочий процесс с одним мастер-файлом, детерминированным преобразованием в каждый требуемый формат и проверкой перед каждой загрузкой, и все это делается без загрузки субтитров третьей стороне.

Шесть платформ, шесть немного разных файлов с субтитрами — как небольшие расхождения превращаются в неправильные субтитры

Отдельные файлы подписей начинают расходиться, как только опечатка исправлена ​​в одном экземпляре, но не исправлена ​​в других. Более поздняя корректировка времени создает еще одно ответвление, и вскоре никто не сможет сказать, содержит ли «final-web-v2.vtt» формулировку, утвержденную в «platform-final.srt». Количество направлений менее важно, чем количество редактируемых источников, претендующих на авторитет.

Надежный рабочий процесс сохраняет один редактируемый мастер-файл и рассматривает каждый целевой файл как одноразовый результат. Если платформа меняет свои требования, сгенерируйте эти выходные данные снова из того же источника вместо того, чтобы исправлять вчерашнюю производную. Отсюда видна разница: либо мастер поменялся, либо рецепт доставки изменился.

Выберите основной формат: почему сохранение одного канонического файла в UTF-8 предотвращает дрейф между версиями

Выберите основной формат, который ваша редакция сможет постоянно просматривать, и сохраните его как UTF-8. SRT прост и широко распространен; WebVTT имеет определенную веб-форму и может сохранять настройки сигнала. ToolAcre читается как UTF-8 и преобразует оба в одну внутреннюю модель ключевого текста плюс целочисленные миллисекундные границы, поэтому любой из них может служить источником для этого узкого рабочего процесса.

Канонический означает, что исправления возвращаются в этот файл. Это не означает, что формат универсален. Храните оригинал в хранилище версионных проектов, называйте его независимо от места назначения и не редактируйте загруженные производные, потому что исправленная производная, которая никогда не достигает мастера, является следующим несоответствием.

Преобразование по требованию — создание SRT или WebVTT из мастера, когда этого требует платформа, вместо редактирования копий.

Конвертируйте только тогда, когда пункт назначения запрашивает формат. Выходные данные WebVTT получают заголовок WEBVTT, точку-разделитель миллисекунд и не содержат строк идентификатора сигнала. В выводе SRT заголовок отсутствует, используется запятая и нумеруются сигналы подряд, начиная с единицы. Обратное преобразование является точным по времени, поскольку оба средства записи форматируют одни и те же значения в целых миллисекундах.

Входные данные намеренно более терпимы, чем выходные данные: анализатор принимает либо разделитель временных меток, необязательные часы, смешанные окончания строк и ведущий знак порядка байтов. Он записывает нечитаемые блоки, а не выбрасывает их. Прочтите этот список проблем перед экспортом, поскольку неверный сигнал пропускается, и поэтому красиво отформатированный файл доставки может содержать меньше сигналов, чем его источник.

Повторное время доставки — обработка обрезанного вступления или добавленного бампера на одной платформе, не затрагивая мастер-версию.

Пункт назначения может добавить вступление, заставку или презентацию, которых нет в каноническом уроке. Примените это смещение, специфичное для места назначения, к копии, а не к мастеру. Фиксированный сдвиг добавляет одинаковое значение в миллисекундах к каждому началу и концу; шкала умножает временные метки и зарезервирована для дрейфа, который увеличивается за пределы программы. Проверка линии вблизи обоих концов позволяет выявить эти неисправности.

Отрицательные результаты фиксируются на нуле, и инструмент сообщает, сколько сигналов было затронуто. При зажиме теряется пространство, поэтому используйте «Отменить», а не пытайтесь компенсировать это сдвигом вперед. Копия поставки должна быть воспроизводима с чистого мастера плюс записанное смещение или масштаб, а не из цепочки запомненных подталкиваний.

Проверьте перед загрузкой — краткий список вещей, которые нужно проверить в выходном файле.

Перед загрузкой сравните количество реплик с ожидаемым источником, проверьте каждое предупреждение синтаксического анализа и проверьте четкую линию рядом с началом и концом с целевым видео. Подтвердите запрошенное расширение и откройте файл, чтобы проверить его первую строку: WEBVTT для VTT, номер сигнала для обычного SRT. Выполните выборочную проверку имен, отличных от ASCII, поскольку читатель предполагает UTF-8.

Также проверьте, какие преобразования намеренно не учитываются. Идентификаторы сигналов отбрасываются, а блоки NOTE, STYLE и REGION пропускаются при загрузке. Настройки сигнала сохраняются и записываются после конечной временной метки даже в SRT, где они не имеют определенного эффекта. Если эти функции имеют значение, этот конвертер не является путем к архиву без потерь для мастера.

Рабочий пример: публикация одной лекции в веб-плеере, видеоплатформе и системе управления обучением — необходимые конверсии и повторное время

На одну лекцию найдите утвержденного мастера UTF-8 SRT. Создайте WebVTT для проигрывателя сайта и проверьте заголовок и количество сигналов. Создайте SRT для видеоплатформы, не редактируя ее. Если система обучения помещает лекцию в трехсекундную заставку, создайте еще одну копию SRT, сдвиньте ее на положительные 3000 миллисекунды и проверьте ее первую и последнюю произнесенные строки.

Когда поступит исправление формулировки, измените ведущее устройство и заново сгенерируйте все три выхода. Не исправляйте веб-файл, файл платформы и измененный файл системы обучения независимо друг от друга. Повторное преобразование обходится дешево; расследование того, какой из трех отредактированных вручную файлов содержит одобренную формулировку, не является задачей.

Чего это не касается — управление переводами и многоязычные файлы, для которых нужен собственный процесс.

Этот рабочий процесс не управляет переводом. Каждому языку нужен свой авторитетный текст, процесс просмотра и связь с изображением, а машинное преобразование между SRT и WebVTT не переводит ни слова. Он также не кодирует политики длины строки или метки говорящего для конкретной платформы, которые остаются редакционными требованиями вне структурной проверки.

Инструмент преобразует один загруженный набор сигналов и не имеет памяти переводов, назначений рецензентов или многоязычного манифеста пакета. Для решения этих проблем используйте систему локализации, а затем проведите каждый утвержденный языковой файл через этот детерминированный этап доставки.

Вывод: один источник правды, конвертируемый по мере необходимости — как функции преобразования, изменения времени и очистки Subtitle Toolkit соответствуют этому циклу

Один источник истины сводит проблему к двум контролируемым операциям: преобразовать к требуемому представлению и изменить время производной только тогда, когда эта доставка имеет другие часы. Subtitle Toolkit делает эти операции явными и обратимыми перед ограничением, в то время как список проверки предоставляет сигналы, которые в противном случае исчезли бы или перекрывались.

Сохраняйте канонический файл нетронутым, записывайте каждый рецепт назначения и восстанавливайте выходные данные при каждом изменении источника. Чистый рабочий процесс — это не «один файл, принимаемый везде»; это один одобренный источник, производящий столько одноразовых, проверенных файлов поставки, сколько действительно необходимо проекту.