Текстовые субтитры и субтитры картинками: почему PGS в MP4 сталкивается с проблемами
Субтитры устроены двумя принципиально разными способами. Текстовые субтитры хранят строки текста и время их появления, а плеер рисует их шрифтом текущего устройства; субтитры картинками хранят уже нарисованные картинки (к этому роду относятся PGS на Blu-ray и субтитры на DVD), и плеер просто накладывает их поверх кадра. Именно это и решает, можно ли поместить их в MP4: дорожка субтитров в MP4 рассчитана на текст, а для картинок в ней не находится места, поэтому при конвертации файла с PGS в MP4 такое семейство субтитров не уходит целиком: сначала буквы в картинках нужно распознать в текст, и только тогда они встанут в эту дорожку — именно так идёт EncoX.
У ситуации «субтитры были в исходном файле, а после конвертации исчезли» есть одна причина, не связанная с самим файлом: файл не повреждён и конвертация не провалилась — просто у инструмента, который оказался под рукой, не нашлось дорожки, способной вместить картинки. Там, где картинки сначала распознаются в текст, а потом ложатся в дорожку субтитров (именно так делает EncoX), вы получаете текстовые субтитры, а не пустоту; цена в том, что распознавание может ошибиться. Если сначала хочется увидеть общий порядок решения — читайте что происходит с субтитрами после конвертации в EncoX.
1. Текстовые субтитры: хранятся строки и время
Текстовые субтитры — это, по сути, простой текст с временной шкалой. В них лежат только содержание и момент показа, а размер, шрифт и положение плеер выбирает на ходу. Плюс — маленький объём, возможность включить и выключить и то, что другое устройство может разложить текст по-своему; минус — при сложной разметке на разных устройствах результат необязательно одинаковый.
К этому же виду относятся SRT и ASS — два самых частых формата в локальных источниках. ASS несёт немного больше информации о разметке, чем SRT, поэтому при конвертации её содержимое приводится к более универсальному виду, а не переносится вместе с параметрами оформления.
Текстовые субтитры — это «текст плюс время», а как именно они выглядят, решает тот, кто их воспроизводит.
2. Субтитры картинками: хранятся готовые картинки
У субтитров картинками текст ещё на этапе изготовления диска свёрстан, обведён и окрашен, а в файл в итоге попадают картинки-кадры. Плееру не нужно понимать текст — достаточно наложить нужную картинку в нужное время, поэтому на любом устройстве они выглядят одинаково. Цена за это — их нельзя отредактировать, нельзя изменить размер шрифта, и их трудно уместить в контейнер, рассчитанный на текст.
PGS — обычный для Blu-ray формат субтитров картинками; по тому же принципу устроены субтитры и на других носителях-дисках. Когда они лежат в файле MKV, с контейнером всё в порядке; проблема в том, что сами субтитры являются картинками.
3. Почему PGS в MP4 сталкивается с проблемой
Дорожка субтитров в MP4 организована по тексту: на каждую строку приходится интервал времени. Субтитры картинками — это последовательность картинок, и уложить их в такую дорожку некуда. Теоретически путей три: положить картинки в файл другим типом дорожки (сочетаний, которые такое переносят, очень мало), заново распознать текст с картинок (результат не может совпасть с исходной разметкой) — или не переносить их при конвертации.
EncoX идёт вторым путём: распознаёт реплики на изображениях как текст и записывает по ним дорожку субтитров. Поэтому источник с одними субтитрами картинками тоже выходит с субтитрами — правда, распознавание может ошибиться, и прежняя вёрстка в результате уже не возвращается.
Субтитр картинками попадает в MP4, только если его сначала распознали как текст; когда целая дорожка не входит, причина в несовпадении контейнера и типа субтитров, а не в ошибке конвертации.
4. Как определить, к какому виду относится ваш файл
Смотрите раздел субтитров в медиаданных файла. Есть несколько практичных признаков:
- Если в поле типа стоит текстовое обозначение вроде SRT или ASS, это обычно текстовые субтитры; если обозначение из дисковых — вроде PGS, VobSub или DVD, — это субтитры картинками.
- В одном и том же MKV может одновременно лежать несколько дорожек субтитров: одна текстовая, другая — картинками, и такая ситуация очень частая.
- Даже у двух дорожек с одинаковой языковой меткой содержание не обязано совпадать — одна может быть упрощённым китайским письмом, а другая традиционным или иным языком.
Звуковые дорожки проверяются в том же порядке: правило «смотреть на содержимое, а не на расширение» из статьи чем контейнер отличается от кодирования справедливо и для субтитров.
5. Три рекомендации
Первое: определите тип субтитров до конвертации — от этого зависит, стоит ли ждать субтитров в готовом файле. Второе: если в источнике только субтитры картинками, конвертация сначала распознаёт текст, а затем переносит дорожку субтитров; распознавание может ошибиться, поэтому стоит просмотреть результат самому. Третье: смена расширения не меняет тип субтитров — субтитр картинками не становится текстовым только потому, что файл переименовали.
6. Что EncoX реально делает с субтитрами
Из проверенных на реальных устройствах входных форматов субтитров у EncoX есть SRT и ASS, включая двуязычные и многоязычные дорожки; после конвертации они сохраняются как текстовые субтитры в выходном MP4. Субтитры картинками Blu-ray, сжатые в картинки PGS, сканируются и распознаются в текст, и этот текст ложится в готовый файл текстовой дорожкой субтитров; распознавание может ошибаться. На реальном устройстве этот путь пока пройден только для PGS на Blu-ray, поэтому DVD и ТВ-приставки, у которых образцов нет, не записываются как проверенные.
Текстовые субтитры сохраняют содержимое; субтитры картинками попадают в эту дорожку, только если их сначала распознали как текст. Поэтому граница этого шага названа заранее — чтобы вам не пришлось искать её потом.
Частые вопросы
В исходном файле субтитры были — почему после конвертации их нет?
Чаще всего это субтитры картинками: они хранятся как изображения, и дорожка субтитров в MP4 не может принять их в исходном виде. Поэтому это семейство сначала нужно распознать как текст. Текстовые субтитры (SRT, ASS) сохраняют содержимое напрямую.
Как сделать из субтитров картинками рабочие?
Всё держится на шаге распознавания: EncoX превращает реплики из картинок в текст и пишет дорожку субтитров, а результат не может совпасть с исходной разметкой, поэтому дорожку стоит проверить самостоятельно. Если проверять не хочется, возьмите материал с текстовыми субтитрами или смотрите исходный файл как есть.
Сохранится ли разметка у субтитров ASS?
Содержание сохранится, а параметры разметки в исходном виде не перенесутся. Шрифт, положение и прочая информация, которой у ASS больше, чем у SRT, в выходном файле приводится к более универсальному виду.
Сохранятся ли все дорожки субтитров?
Несколько текстовых дорожек в проверенных образцах сохраняются, в том числе двуязычные и многоязычные; если в том же файле лежат и субтитры картинками, эти дорожки идут дорогой распознавания.
Axiom One LLC — EncoX