Перейти до основного вмісту
SubtitleMatrix

Формат субтитрів SMI

Що може виразити цей формат

Оформлення тексту
Жирний і курсив
Позиціювання на екрані
Так
Караоке-таймінг
Ні
Переноси рядків у репліці
Так
Таймлайн
Початок і кінець для кожної репліки
Роздільність часу
1 мс
Час зберігається як номери кадрів
Ні
Текст справа наліво
Так

Приклади

Типовий файл SMI, і що з нього читається

Файл

<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>

Що він містить

2 cues, 3 lines of text

  Start=1000  =  00:00:01.000 → 00:00:03.000
    Hello there.
    [Class=ENCC]
  Start=3500  =  00:00:03.500 → 00:00:06.000
    How are you?
    Fine, thanks.
    [Class=ENCC]

Outside the cues:
  head       a <STYLE> block with CSS for the paragraphs, kept as it came in
  cue ends   the next <SYNC> tag — a SAMI file writes no end time of its own
  clearing   a <P>&nbsp; block blanks the screen; the two here are kept as clearing blocks, not turned into cues

Права колонка — не перетворений файл, а те, що сайт читає з лівої колонки й з чого починається будь-яке перетворення цього файлу.

Неохайний файл SMI, і що з нього все одно читається

Файл

<SAMI>
<BODY>
<SYNC Start=abc>
<P Class=ENCC>this block's start cannot be read
<SYNC Start=2000>
<SYNC Start=4000>
<P>no attributes here<br>second line
<SYNC Start="6000">
some loose text before any P
</BODY>
</SAMI>

Що він містить

3 cues, 3 lines of text

  Start=2000  =  00:00:02.000 → 00:00:04.000
    (no text)
  Start=4000  =  00:00:04.000 → 00:00:06.000
    no attributes here
    second line
  Start=6000  =  00:00:06.000 → 00:00:08.000
    some loose text before any P

Outside the cues:
  head       no <STYLE> block and no <TITLE> — just the <SAMI> and <BODY> tags
  cue ends   the next <SYNC> tag; the last cue has none after it, so its end time was given a default
  loose text text between two <SYNC> tags that belongs to no <P> is kept and attached to the cue open at that point

Reported while reading — repaired or skipped, never silently:
  1 × SYNC blocks whose start time could not be read (they were skipped)
  1 × the last cue has no following timestamp, so its end time was generated

Справжні файли приходять із BOM, переводами рядків Windows, зайвим рядком перед часом або часом, який взагалі не читається. Ніщо з цього не валить обробку: нерозпізнане потрапляє у звіт, а не зникає мовчки.

Конвертувати SAMI (SMI) в інший формат

Кожен із них працює повністю у вашому браузері. Позначки кажуть, чого коштує цей напрямок, ще до того, як ви його відкриєте.

SMI → MicroDVD — втрати: стилі, позиціювання, fps, дані формату.
  • Оформлення
  • Позиціювання
  • Частота кадрів
  • Дані формату
SMI → TXT — втрати: таймінг, стилі, позиціювання, переноси, дані формату.
  • Таймінг
  • Оформлення
  • Позиціювання
  • Переноси рядків
  • Дані формату

Конвертація в цей формат

SAMI (SMI) — один із дванадцяти форматів субтитрів, з якими працює цей сайт, і ця сторінка — його довідник: що формат уміє зберегти, чого не вміє і в який формат його переписати.

SAMI — спадок Windows Media Player: файл складається з блоків <SYNC Start=1000>, а кінець репліки визначає наступний блок. Оформлення живе в <STYLE> і класах <P Class=…>.

Таблиця вище — це весь перелік можливостей, без прихованих рядків. Якщо рядок каже «ні», саме це й зникне під час конвертації з SMI, і кожна сторінка перетворення нижче попереджає про це до того, як ви відкриєте файл.

Усі ці перетворення виконуються у вашому браузері. Файли нікуди не надсилаються, обліковий запис не потрібен — це важливо для матеріалів під NDA, медичних записів і матеріалів до ефіру, які ще не вийшли.

Часті запитання

Що таке файл SMI?

SAMI — спадок Windows Media Player: файл складається з блоків <SYNC Start=1000>, а кінець репліки визначає наступний блок. Оформлення живе в <STYLE> і класах <P Class=…>. Файли SMI читають Windows Media Player і старі вебвбудови.

Чи зберігає SMI оформлення?

У SMI — базове оформлення через <P Class=…> і блок <STYLE>. Це стосується саме оформлення; позиціювання й караоке — окремі виміри, і кожен із них треба перевіряти окремо.

Чи записано в SMI і початок, і кінець репліки?

У файлі є лише початок — <SYNC Start=1000>; кінець попередньої репліки визначає наступний блок <SYNC>, а останню закриває кінець файлу або типова тривалість. Під час конвертації в інший формат обидві межі будуть у виході, але друга — обчислена, а не прочитана з файлу.

У які формати SMI можна конвертувати без втрат?

Жоден: SMI не містить чогось такого, що інший формат зберіг би без доповнень. Кожен перехід додає або генерує час, або втрачає частину моделі, і кожна сторінка перетворення називає свою втрату окремо.

Що SMI зберігає поза репліками?

Блок <STYLE> і коментарі. Ці дані не є субтитрами в строгому сенсі, але без них файл втрачає частину змісту: саме тому під час конвертації вони потрапляють у список втрат, а не зникають мовчки.