Вопрос или проблема
У меня есть набор MKV файлов с субтитрами, которые все имеют задержку в одну секунду. Я выяснил, что можно использовать “Файл -> Конвертировать/Сохранить” в VLC, чтобы сохранить видео с помощью командной строки.
Конкретная опция, которую я использую, это subsdelay-mode и subsdelay-factor с помощью следующих шагов:
- Открыть VLC
- Медиа -> Конвертировать/Сохранить
- Выбор файла -> Добавить…
- Выбрать видеофайл
- Поставить галочку “Показать больше опций”
- Написать в “Редактировать параметры” -> “:file-caching=300:subsdelay-mode=0:subsdelay-factor=-1.0”
- Нажать “Конвертировать/Сохранить”
- Настройки -> Поставить галочку “Дамп необработанного входного” (позволяет не менять формат выходного файла(.mkv))
Это должны быть все необходимые шаги для загрузки моего видео и ускорения субтитров на 1 секунду (отрицательная задержка). Однако, это не работает. Где я ошибся?
Я думаю, проблема в том, что Дамп необработанного входного
означает использование входных данных (включая субтитры) без каких-либо изменений, поэтому subsdelay-factor
ничего не делает.
VLC не подходит для выполнения этой задачи. Вам следует использовать демультиплексор/мультиплексор, чтобы изменить поток субтитров.
демультиплексировать mkv-файл -> вы получите поток субтитров
редактировать поток субтитров с вашей задержкой
мультиплексировать mkv-файл с новым потоком субтитров
mkvtoolnix должен уметь это делать
С помощью VLC, если у вас есть файл SRT в той же папке, что и ваш MP4, с точно таким же названием, VLC загрузит файл субтитров (srt) вместе с воспроизведением MP4, предполагая, что они предназначены друг для друга.
Ответ или решение
Конечно, давайте подробно рассмотрим, как вы можете исправить задержку субтитров в MKV-файлах, используя правильные инструменты и настройки.
Теория
VLC — это мощный медиаплеер с рядами возможностей, включая конвертацию и преобразование медиафайлов. Однако, как вы заметили, его функции для корректировки модуля субтитров могут иметь определенные ограничения. В частности, опция Dump raw input
используется для сохранения входных данных в неизменном виде. Это означает, что все изменения, которые вы пытаетесь применить к субтитрам, такие как subsdelay-factor
, не будут работать, поскольку данные сохраняются в точности так, как они были на входе.
Для решения поставленной задачи, когда требуется изменить время начала субтитров, нужен подход, который предполагает извлечение субтитров из MKV-файла (демультиплексирование), редактирование нужного времени и последующее встраивание измененного субтитра обратно (мультиплексирование).
Пример
-
Экстракция субтитров:
Для каждого MKV-файла используйте инструмент, такой как ‘mkvextract’ из набора инструментов mkvtoolnix, чтобы получить поток субтитров в отдельный файл. Например:mkvextract tracks yourfile.mkv 1:subtitles.srt
Здесь
1
— это номер потока субтитров в форматеSRT
. -
Редактирование файла субтитров:
Откройтеsubtitles.srt
в редакторе текста. Добавьте или отнимите время в каждой временной метке на 1 секунду. Эту задачу можно автоматизировать скриптом. -
Встраивание субтитров обратно в видео:
Используйтеmkvmerge
, чтобы объединить оригинальный видеофайл и отредактированные субтитры:mkvmerge -o outputfile.mkv -A yourfile.mkv subtitles.srt
Параметр
-A
используется для исключения аудио из оригинального файла, но вы также можете сохранить аудио в итоговом файле.
Применение
Как вы видите, это немного более сложный процесс, чем просто изменение настроек в VLC. Однако он предоставляет гораздо большую гибкость и надежность. Использование инструментов, таких как mkvtoolnix, позволяет тонко настраивать и редактировать компоненты видеофайлов без потери качества.
- Экстракция: mkvtoolnix предоставляет достоверные результаты экстракции, и вы можете работать с популярными форматы, такими как SRT.
- Редактирование субтитров: Изменение временных меток может показаться сложным, но такие редакторы, как Notepad++, облегчают выполнение шаблонов изменения времени. Для больших объёмов задач можно использовать специализированные программы, такие как Subtitle Edit.
- Возврат изменений в файл: Инструменты mkvtoolnix также поддерживают широкий спектр параметров для возврата отредактированных субтитров обратно в файл, сохраняя оригинальное качество видеоряда.
Аргументированное использование этих инструментов позволит вам избежать трудностей с несовместимостью и гарантированно настроить все тонкости воспроизведения видео и субтитров. Это решение также открывает больше возможностей для тех, кто хочет внести другие изменения в файлы MKV, такие как замена звуковой дорожки или изменение видеофильтрации.
Заключение
Хотя VLC — великолепный инструмент для воспроизведения и базового редактирования медиафайлов, mkvtoolnix предлагает более широкие возможности для работы с контейнером MKV. Следуя описанным шагам, вы можете быстро и эффективно настроить свои файлы по временной шкале субтитров, обеспечивая идеальный опыт просмотра. Заметьте, что этот метод требует определенных знаний командной строки и работы со скриптами, но развивать эти навыки крайне полезно в любой профессиональной области, связанной с ИТ и мультимедиа.