Конвертер SRT у ASS
Або вставте текст субтитрів
Що змінює ця конвертація
1 річ відкидається або потребує рішення
- Точність
точність таймінгу — годинник результату грубший, тож кожен таймкод округлюється до найближчих 10 мс
Цей перелік походить із матриці можливостей для цих двох форматів, а не з конкретного завантаженого файлу. Певний файл може втратити більше, якщо використовує можливості, які формат дозволяє, а матриця не моделює.
Ця сторінка переписує SRT як скрипт Advanced SubStation Alpha. Формати по-різному уявляють субтитр: у SRT це репліка з двома позначками часу, в ASS — рядок Dialogue у скрипті із заголовком і таблицею стилів. Тому кожна репліка стає одним рядком Dialogue, час переписується з 00:00:01,250 у 0:00:01.25, а слова лишаються незмінними.
Оформлення перекладається, а не вставляється як текст: курсив стає кодом {\i1}…{\i0}, жирний — {\b1}…{\b0}, а переніс рядка — кодом \N. ASS має власну таблицю стилів, тому у вихідному файлі з’явиться один стиль Default — Arial, кегль 20, білий текст із темним обведенням; змінивши цей рядок, ви зміните весь файл.
Точність падає з мілісекунд до сотих секунди: 00:00:01,257 стане 0:00:01.25. Це єдина втрата в цьому напрямку, і вона показана до запуску. Обробка йде у браузері, файли нікуди не надсилаються.
Приклади
Типовий файл SRT, переписаний у ASS
Вхід
1
00:00:01,000 --> 00:00:03,500
Hello there.
2
00:00:03,500 --> 00:00:06,000
<i>Whispering</i> now.
And a second line.
3
00:00:06,000 --> 00:00:09,250
<b>Bold</b> statement.
Результат
[Script Info]
ScriptType: v4.00+
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:03.50,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:03.50,0:00:06.00,Default,,0,0,0,,{\i1}Whispering{\i0} now.\NAnd a second line.
Dialogue: 0,0:00:06.00,0:00:09.25,Default,,0,0,0,,{\b1}Bold{\b0} statement.
У цьому вихідному файлі втрачено: точність до 10 мс. Решта збігається рядок у рядок.
Той самий перехід на неохайному файлі SRT
Вхід
1
0:00:01,00 --> 0:00:03,500
<B>Bold</B> and <I>italic</I>.
2
00:00:03,500 --> 00:00:06,000
3
00:00:08,000 --> 00:00:09,000
Last one.
Результат
[Script Info]
ScriptType: v4.00+
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:03.50,Default,,0,0,0,,{\b1}Bold{\b0} and {\i1}italic{\i0}.
Dialogue: 0,0:00:03.50,0:00:06.00,Default,,0,0,0,,
Dialogue: 0,0:00:08.00,0:00:09.00,Default,,0,0,0,,Last one.
Справжні файли приходять із BOM, переводами рядків Windows, зайвим рядком перед часом або часом, який взагалі не читається. Ніщо з цього не валить обробку: нерозпізнане потрапляє у звіт, а не зникає мовчки.
Часті запитання
Які програми відкриють ASS після конвертації з SRT?
ASS підтримують mpv, VLC, ffmpeg і Aegisub. Для порівняння, SRT підтримують VLC, mpv, телевізійні прошивки й YouTube. Якщо цільовий формат потрібен для конкретної платформи, перевірте її підтримку до конвертації великого пакета.
Чим SRT відрізняється від ASS у цьому напрямку?
SRT тримає лише текст і дві позначки часу на репліку, а ASS описує субтитр скриптом із таблицею стилів, позиціюванням і караоке. Тому перетворення — це не зміна розширення, а переписування моделі. У SRT репліка складається з номера, рядка часу й одного чи двох рядків тексту. У ASS скрипт: заголовок [Script Info], таблиця [V4+ Styles] і рядки Dialogue. Саме з цієї різниці й постає список втрат над файловим полем.
Як перевірити, що конвертація SRT в ASS нічого не зіпсувала?
Порівняйте кількість реплік, час першої та останньої і список втрат, який сайт показує до завантаження. SRT записує час як 00:00:01,250, ASS записує час як 0:00:01.25; якщо кількість і межі збігаються, а перелік втрат вас влаштовує, файл готовий.
Чи впорається конвертер із BOM і переводами рядків CRLF у файлі SRT під час перетворення в ASS?
Так. BOM і CRLF розпізнаються під час читання SRT й не потрапляють у дані; вихідний ASS пишеться зі стандартними закінченнями рядків. Битий блок із нерозпізнаним часом не валить сторінку — він потрапляє у звіт, а не зникає мовчки.
Як зміниться запис часу, коли SRT перетворити в ASS?
У SRT момент записано як 00:00:01,250, а ASS записує його як 0:00:01.25. Оскільки ASS веде час грубіше, кожну позначку округлено до 10 мс: 00:00:01,257 стане 0:00:01.25. Це єдина втрата точності в цьому напрямку. Слова й порядок реплік при цьому не змінюються.