Представлена утилита для автоматической синхронизации субтитров
Опубликован код утилиты subsync, обеспечивающей автоматическую синхронизацию субтитров с видео. Утилита позволяет откорректировать момент показа текста с началом произношения фраз. Код написан на языке Python и распространяется под лицензией MIT. Подготовлен патч для интеграции с мультимедийным проигрывателем VLC. Для обработки видео используется FFmpeg, для разбора субтитров применяется библиотека srt, а для выделения речи модуль
Проект не привязан к конкретным языкам и основан на сопоставлении абстрактных текстовых данных с выделенными фрагментами речи. Алгоритм синхронизации вначале выполняет дискретизацию видео и субтиров с разбиением на отрывки продолжительностью 10 мс. Далее для каждого отрывка определяется наличие речи: для видео задействован применяемый в WebRTC алгоритм определения наличия речи (VAD), а для субтитров формируется раскладка на основе указанных временных меток. В итоге формируется два ряда, в которых каждый отрывок с речью отмечен 1, а без речи - 0. На последнем этапе осуществляется сопоставление двух полученных рядов и корректировка смещения с использованием быстрого преобразования Фурье (FFT).