Как добавить субтитры на нескольких языках к одному видео
Как добавить субтитры на нескольких языках к одному видео: транскрибируйте один раз, переведите в слои и выберите доставку — файлы, дорожки или вшивание.
Добавление субтитров на нескольких языках к одному видео — это три решения, а не одна долгая задача: транскрибируйте один раз на языке оригинала, добавьте каждый следующий язык как слой перевода на тех же таймкодах, а затем выберите способ доставки — отдельные файлы, одно видео с переключаемыми дорожками или отдельную вшитую копию под каждый язык. Почти весь болезненный опыт работы с многоязычными субтитрами возникает именно потому, что эти шаги выполнялись в неправильном порядке.
Ниже — рабочий порядок действий, то, что перевод делает с таймингом и шрифтами по ходу дела, и какой формат доставки на самом деле принимает каждая платформа.
Транскрибируйте один раз, переводите слоями
Самая дорогая по времени ошибка — заново запускать распознавание речи для каждого языка.
Распознавание речи делает две вещи одновременно: выдаёт текст и задаёт границы реплик — моменты начала и конца каждой субтитровой строки. Текст на каждом языке свой. Границы — нет, они должны оставаться общими. Если пять раз транскрибировать одно и то же видео, получится пять слегка разных наборов границ, и правка синхронизации в испанской версии ничего не даст немецкому файлу. Умножьте это на двухчасовую запись — и весь процесс разваливается.
Перевод готового транскрипта вместо повторной транскрипции сохраняет единый таймлайн:
- Одна транскрипция языка оригинала с реальным таймингом.
- Один раунд правок — имена, термины, пунктуация.
- N переводов этого исправленного текста, каждый наследует те же границы реплик.
Именно шаг 2 даёт основной выигрыш. Фамилия с опечаткой, исправленная до перевода, исправлена везде. Та же фамилия, исправленная после, — это уже восемь отдельных правок.
В Sablate задача буквально так и устроена: перевод — это слой, добавленный к уже существующей транскрипции, а не новая задача. Офлайн-переводчик (Argos) работает прямо на вашем компьютере; DeepL, OpenAI и Claude доступны, если вы подключите свой собственный API-ключ. Стоит знать про офлайн-путь: у Argos почти нет готовых пар без английского на одном из концов, поэтому для пары, например, турецкий–немецкий, прямого пакета не существует, и перевод строится через английский как промежуточный шаг. Это работает, но именно поэтому строка турецкий–немецкий звучит чуть суше, чем турецкий–английский.
Выберите формат доставки заранее
От этого решения зависит весь дальнейший экспорт, поэтому решайте его первым.
| Отдельные файлы на каждый язык | Один MKV, дорожка на язык | Вшитая копия на язык | |
|---|---|---|---|
| Зритель может переключить язык | На платформе | В плеере | Нет |
| Оформление сохраняется | Минимально (жирный, курсив, цвет) | Да, дорожка ASS | Да, именно так, как задумано |
| Работает на YouTube / Vimeo | Да, загрузите каждый файл | Нет | Да, это просто видео |
| Работает на TikTok / Reels / Shorts | Нет | Нет | Да |
| Работает офлайн / на ТВ или флешке | Нужны совпадающие имена файлов | Да, один файл | Да |
| Требует перекодирования видео | Нет | Нет, потоки копируются | Да, по разу на язык |
| Цена добавления 9-го языка | Ещё один небольшой файл | Ещё одна дорожка | Ещё одно полное кодирование |
Схема, к которой в итоге приходит большинство: файлы — для платформ, которые их принимают, один MKV — для архива и локального просмотра, а вшивание — только для одного-двух языков основной аудитории.
Если не уверены, какой из форматов — .srt, .vtt или .ass — нужен конкретной платформе, сравнение форматов подробно разбирает, что несёт в себе каждый из них.
Что перевод делает с таймингом
Переведённые субтитры ломаются предсказуемо и по одной и той же причине: тайминг остаётся верным, а строку теперь просто невозможно прочитать вовремя.
При переводе с английского на испанский, французский, итальянский или португальский текст обычно становится длиннее на 20–30%. Немецкие сложные слова растягивают строку иначе — слов меньше, но они не влезают в строку из 42 символов. Реплика всё так же начинается и заканчивается там, где говорящий начал и закончил фразу. Просто зритель физически не успевает прочитать столько символов за 1,8 секунды.
Для этого есть метрика — символов в секунду (CPS), и ориентиром служат собственные руководства Netflix по стилю для разных языков:
| Язык | Скорость чтения для взрослых программ | Символов в строке |
|---|---|---|
| Английский (США) | До 20 CPS | 42 |
| Русский | До 17 CPS | 42 |
| Корейский | До 12 CPS | 16 |
| Китайский (упрощённый) | До 9 CPS | 16 |
| Японский | До 4 CPS | 13 полноширинных |
Эти ограничения — не произвольная строгость. Один японский иероглиф несёт гораздо больше смысла, поэтому на ту же секунду речи нужно куда меньше символов на экране, а машинный перевод, заполняющий реплику до английского лимита, просто нельзя прочитать.
Решение — никогда не сдвигать таймкоды: они привязаны к звуку, а звук — единственное, что нельзя изменить. Решение — сократить формулировку или разбить реплику на две. Редактор Sablate помечает во время работы любую реплику дороже 17 CPS — это верный порог для большинства языков на латинице и кириллице и намеренно мягкий для японского и корейского; считайте это нижней планкой, а не гарантией качества.
Подберите каждому языку шрифт, который умеет его рисовать
Эта проблема невидима до момента рендера — а потом становится очень заметной.
Дисплейные шрифты для субтитров — те самые жирные узкие гарнитуры, из-за которых субтитры выглядят как субтитры, — обычно покрывают только латиницу, кириллицу и греческий, и больше ничего. Примените такой шрифт к арабскому, ивриту, тайскому, деванагари, хангылю или CJK — и получите пустые прямоугольники в видео, на кодирование которого вы уже потратили двадцать минут.
Sablate решает это, проверяя письменность каждого языкового слоя и подставляя системный шрифт, который действительно содержит нужные глифы, — как в предпросмотре, так и при вшивании, так что в файле оказывается ровно то, что вы видите в редакторе. У каждого языкового слоя также свой стиль, и дело не только в шрифте: размер, который отлично читается в английском, часто слишком крупный для корейской строки из 16 символов.
Загрузка субтитров на нескольких языках на YouTube
YouTube принимает один файл субтитров на язык для каждого видео, и загружается он отдельным шагом. Единого файла субтитров «на несколько языков» для загрузки не существует — «несколько языков» живут на платформе, а не в файле.
- Откройте YouTube Studio, затем «Субтитры», затем нужное видео.
- Нажмите «Добавить язык», выберите язык, затем «Загрузить файл».
- Загрузите
.srtили.vttдля этого языка. - Повторите для каждого языка. Переводы названия и описания находятся в отдельном разделе.
Стоит знать две вещи. Встроенный автоперевод YouTube бесплатен и мгновенен, и по цене его действительно трудно превзойти, — но он переводит собственный автоматический транскрипт, поэтому любое слово, которое распознавание услышало неверно, окажется неверным сразу на всех языках. И YouTube отображает все субтитры в собственном стиле плеера, так что оформление из вашего файла зритель не увидит. Если внешний вид важен, вшивайте субтитры.
Что предлагает каждый инструмент
| Sablate | Автоперевод YouTube | Subtitle Edit | Облачные сервисы субтитров | |
|---|---|---|---|---|
| Цена | $29 разово | Бесплатно | Бесплатно, open source | Обычно $16–23 в месяц |
| Видео покидает ваш компьютер | Нет, если вы сами не включите облачный API-ключ | Да | Нет | Да |
| Одна транскрипция, много языковых слоёв | Да | Да, из собственного транскрипта | Да, вручную | По-разному |
| Свой стиль и шрифт под письменность для каждого языка | Да | Нет, только стиль плеера | Нет | Редко |
| Экспорт в MKV с несколькими дорожками | Да (Pro) | Нет | Через сторонний мультиплексор | Нет |
| Длинные записи | На Pro лимита по длине нет | Всё видео | Без ограничений | Часто тарификация по минутам |
| Бесплатный тариф покрывает всё видео | Нет — на Free лимит 10 минут | Да, любая длина | Да, всё | Обычно с водяным знаком |
Subtitle Edit заслуживает честного комментария: он бесплатный, он отличный, и он умеет и транскрипцию, и перевод. В обмен он просит настройки — модели, инструменты и мультиплексирование конфигурируются отдельно, — и не умеет вшивать субтитры с оформлением. Если такая настройка вам по душе, это лучший бесплатный вариант в этой категории.
Экспорт результата
Когда слои готовы, экспорт — самая короткая часть работы:
- Файлы субтитров по языкам —
.srt,.vttили.txt, один файл на язык, для загрузки на платформы. - Один MKV со всеми языками — каждый язык записан отдельной дорожкой ASS с правильной языковой меткой, шрифт субтитров вложен в файл, а первая дорожка помечена как основная по умолчанию. Видео и аудио копируются потоково, поэтому ничего не перекодируется, а экспорт занимает секунды, а не время кодирования. Pro.
- Видео с вшитыми субтитрами — отдельный рендер на каждый язык, в форматах 16:9, 9:16 или 1:1. Это единственный вариант доставки, который выживает на TikTok, Reels и Shorts. Как устроено вшивание субтитров подробно разбирает вопрос качества.
На бесплатном тарифе задача может нести один офлайн-слой перевода, а первая задача, которая проходит порог в десять минут, может нести до трёх. Pro снимает все ограничения за один платёж $29 — подробности того, что входит в тариф, смотрите на странице тарифов.
Коротко
Транскрибируйте один раз. Исправьте транскрипт до того, как начнёте что-либо переводить. Добавляйте языки как слои на тех же таймкодах. Проверяйте скорость чтения и шрифты для каждого языка — оба параметра меняются вместе с текстом. Затем экспортируйте именно тот формат доставки, который принимает ваша платформа, — а если ответ «все три», объём работы от этого не меняется.