Как смотреть видео сразу с двумя потоками субтитров

в 21:22, , рубрики: subtitles, video player, Работа с видео, Софт, субтитры, метки: , , ,

Начнём с примеров практического применения параллельных субтитров:

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

2. Качество перевода сомнительно, хотелось бы иметь на экране также и оригинал, для возможной проверки непонятных участков. Вместо оригинала можно использовать авторитетный перевод на другой язык — например, английский перевод при просмотре китайских, корейских или японских фильмов (тем более что с английских переводов, к сожалению, сегодня чаще всего и пере-переводят азиатское кино).

3. Фильм смотрят в компании, одним нужен оригинал, другим перевод.

Конечно, всё это смахивает на небольшое маньячество, но человек, знакомый с проблемами перевода, готов мириться с некоторыми неудобствами (отъедание экранного пространства, раздвоение восприятия, небольшая морока с подготовкой материалов).

Вариант с перекодированием видео (чтобы получить пару по сути разных субтитров — вшитых + пререндеренных или тестовых) сразу отметаем: долго, неудобно, вредно для изображения. Хотя этот вариант можно взять на заметку, если смотреть придётся на железном плеере и нет другого выхода: но и тогда описанный ниже рецепт пригодится как звено в цепи перекодировки.

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

Мы будем использовать AviSynth: что-то вроде посредника между источником и плеером с разнообразными возможностями редактирования фильмов на лету. Скачиваем здесь, русская документация по языку скриптов здесь.

Однако нам не обязательно учить все тонкости и безграничные возможности языка. Достаточно запомнить всего несколько команд.

Создаём текстовый файл с произвольным именем и расширением .avs. Вставляем в него несколько строк:

LoadPlugin("c:Program FilesAviSynth 2.5pluginsVSFilter.dll")
DirectShowSource("video.avi")
TextSub("video.eng.ssa")
TextSub("video.rus.ssa")

Первая строка подключает плагин субтитров при помощи соответствующей команды. Вторая строка загружает видеофайл при помощи системного интерфейса (он достаточно всеядный, поэтому смотреть можно не только в avi, но и в mkv и других популярных контейнерах). Следующие две строчки загружают и встраивают в видеопоток два разных файла субтитров (это команды упомянутого плагина). Не забудьте подставить пути к вашим файлам вместо примеров в кавычках.

Конечно, если текстовые или пререндеренные субтитры встроены в контейнер, их нужно будет предварительно извлечь.

Теперь осталось подредактировать сами субтитры, чтобы они не сливались на экране. Такие возможности предоставляет формат SSA. Если у нас субтитры другого формата (например, .srt), можно легко сконвертировать их при помощи программ по работе с субтитрами. Например, в замечательном по простоте и функциоанльности и бурно развивающемся Subtitle Edit.

После конвертации остаётся сделать всего несколько правок в самих субтитрах. О формате SSA можно почитать здесь же, здесь и на русском здесь. Одни субтитры мы оставим внизу, другие переместим вверх экрана при помощи параметра Alignment в стиле по умолчанию. В обоих субтитрах можно уменьшить поля (параметры MarginL, MarginR, MarginV) и размер шрифта (Fontsize), чтобы выиграть место на экране (правые и левые поля влияют на количество строк: пространство по вертикали важнее краёв, поэтому лучше две строки внизу от края до края, чем три строки с полями — хотя это и скажется на скорости чтения, но уменьшится вероятность закрытия важной части видеоряда). Если одни субтитры считаются запасными, можно изменить их цвет или прозрачность, чтобы они как бы отошли на второй план (параметры *Color и AlphaLevel).

Остаётся лишь открыть файл .avs в плеере подобно обычному видеофайлу. Тестировалось на MPC-HC с отличными результатами.

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

Автор: vmb

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js