Перейти к основному содержимому
SubtitleMatrix

Конвертер SMI в MICRODVD

Или вставьте текст субтитров

Параметры

В какой частоте кадров считается тайминг. На страницах форматов это то, что нужно MicroDVD: он хранит время в номерах кадров. На страницах частоты кадров это частота, по которой файл был рассчитан, — версия, для которой делались субтитры, — а второе поле страницы принимает частоту видео, с которым вы будете их использовать. Обычные значения: 23,976, 24, 25, 29,97, 30, 50, 59,94 и 60. Ошибка сдвигает весь таймлайн, а на страницах частоты кадров — на коэффициент, а не на фиксированную величину.

Что меняет эта конвертация

4 пункта теряются или требуют решения

  • Оформление

    всё оформление (жирный, курсив, цвет, обводка, тень)

  • Позиционирование

    положение на экране (каждая реплика возвращается в стандартное положение)

  • Частота кадров

    этот формат хранит время в номерах кадров — тайминг зависит от указанной вами частоты кадров

  • Содержимое формата

    содержимое, которое исходный формат хранит вне реплик (блоки не-реплик, текст заголовка, настройки реплик, закомментированные события): целевому формату его некуда деть

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

Здесь субтитры SMI превращаются в MicroDVD: SMI — это формат Microsoft на разметке, где каждая реплика начинается тегом SYNC, а MicroDVD — формат, который хранит время номерами кадров, а не часами и минутами. SMI записывает интервал (<SYNC Start=1000> … <SYNC Start=3500>), а MicroDVD хранит номера кадров: при 25 fps он станет {25}{88}, при другой частоте номера пересчитываются. Точность задаёт частота кадров: при 25 fps шаг сетки 40 мс, поэтому каждый таймкод SMI переводится в номер кадра.

Сайт перечисляет потери до запуска — оформление, позиционирование, точность кадров, CSS-оформление SMI; SMI хранит базовое оформление через CSS-классы и атрибуты абзаца, а MicroDVD умеет только чистый текст: шрифт, цвет, обводка, тень и начертание исчезнут.

Ни один байт субтитров не уходит в сеть: конвертация выполняется в текущей вкладке, а готовые файлы забираются архивом.

Примеры

Обычный файл SMI, переведённый в MicroDVD

Вход

<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial; }
.ENCC { Name: English; lang: en-US; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P Class=ENCC>Hello there.
<SYNC Start=3000>
<P Class=ENCC>&nbsp;
<SYNC Start=3500>
<P Class=ENCC>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

Выход

{1}{1}25
{25}{75}Hello there.
{88}{150}How are you?|Fine, thanks.

Сравните две стороны: SMI хранит время (<SYNC Start=1000> … <SYNC Start=3500>), а MicroDVD — номера кадров, поэтому каждый таймкод пересчитывается по fps, а текст сохраняется.

Тот же перевод на неаккуратном файле SMI

Вход

<SAMI>
<HEAD>
<TITLE>Episode 1</TITLE>
<STYLE TYPE="text/css">
<!--
.ENCC { Name: English; }
-->
</STYLE>
</HEAD>
<BODY>
<sync start="00:00:02,500">
<P Class=ENCC>Line one<br>Line two
<sync start=9000>
<P Class=ENCC>Tom &amp; Jerry
<SYNC Start=12000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

Выход

{1}{1}25
{63}{225}Line one|Line two
{225}{300}Tom &amp; Jerry

Второй файл намеренно неровный: BOM, переводы строк CRLF. SMI читает его без падения, а MicroDVD записывается заново, поэтому часть дефектов исчезает, но пропущенные блоки не возвращаются.

Частые вопросы

Какие таймкоды получатся на выходе при переводе SMI в MicroDVD?

SMI записывает интервал (<SYNC Start=1000> … <SYNC Start=3500>), а MicroDVD хранит номера кадров: при 25 fps он станет {25}{88}, при другой частоте номера пересчитываются. Точность задаёт частота кадров: при 25 fps шаг сетки 40 мс, поэтому каждый таймкод SMI переводится в номер кадра.

Какие данные SMI не переживут перевод в MicroDVD?

SMI хранит базовое оформление через CSS-классы и атрибуты абзаца, а MicroDVD умеет только чистый текст: шрифт, цвет, обводка, тень и начертание исчезнут. SMI расставляет реплики по экрану, а MicroDVD не хранит координат: все реплики вернутся в позицию по умолчанию. MicroDVD хранит время номерами кадров, поэтому нужен fps: сайт берёт его из поля страницы, затем из первой строки файла, иначе подставляет 25. SMI хранит блок STYLE с CSS и атрибуты абзаца вроде Class=ENCC, а MicroDVD их не сохраняет. Это полный список потерь для пары SMI → MicroDVD; сайт показывает его до запуска.

Как выбрать fps при переводе SMI в MicroDVD?

MicroDVD хранит время номерами кадров, поэтому без частоты кадров не обойтись. Сайт берёт значение из поля страницы, затем из первой строки файла, а если объявления нет — подставляет 25 fps; при 25 fps один кадр длится 40 мс, и секунда SMI становится кадром 25.

Не перепутается ли порядок реплик после конвертации SMI в MicroDVD?

SMI хранит перенос строки как отдельную строку, а MicroDVD кодирует его вертикальной чертой: две строки станут одной с разделителем |, порядок реплик сохраняется.

В какой кодировке сохраняется MicroDVD и какое у него расширение при переводе из SMI?

Файл MicroDVD записывается в UTF-8 без BOM с переводами строк LF и расширением .sub; при чтении SMI сайт сам определяет BOM и стиль переводов строк и нормализует их. Кириллица и другие алфавиты сохраняются без замены символов.

Где в SMI записан конец реплики, которую нужно перевести в MicroDVD?

В SMI у реплики есть только <SYNC Start=1000>; конца нет, им служит следующий SYNC или очищающий абзац с &nbsp;. При переводе в MicroDVD сайт берёт момент следующего блока, поэтому последняя реплика без завершающего SYNC требует проверки.

Похожие инструменты