Как добавить субтитры на нескольких языках к одному видео
Как добавить субтитры на нескольких языках к одному видео: транскрибируйте один раз, переведите в слои и выберите доставку — файлы, дорожки или вшивание.
Многоязычные субтитры — одно видео с субтитрами на нескольких языках — сводятся к трём решениям, а не к одной долгой задаче: транскрибируйте один раз на языке оригинала, добавьте каждый следующий язык как слой перевода на тех же таймкодах, а затем выберите способ доставки — отдельные файлы, одно видео с переключаемыми дорожками или отдельную вшитую копию под каждый язык. Почти весь болезненный опыт работы с многоязычными субтитрами возникает именно потому, что эти шаги выполнялись в неправильном порядке.
Ниже — рабочий порядок действий, то, что перевод делает с таймингом и шрифтами по ходу дела, какой формат доставки на самом деле принимает каждая платформа и как добавить все языки к видео на YouTube.
Транскрибируйте один раз, переводите слоями
Самая дорогая по времени ошибка — заново запускать распознавание речи для каждого языка.
Распознавание речи делает две вещи одновременно: выдаёт текст и задаёт границы реплик — моменты начала и конца каждой субтитровой строки. Текст на каждом языке свой. Границы — нет, они должны оставаться общими. Если пять раз транскрибировать одно и то же видео, получится пять слегка разных наборов границ, и правка синхронизации в испанской версии ничего не даст немецкому файлу. Умножьте это на двухчасовую запись — и весь процесс разваливается.
Перевод готового транскрипта вместо повторной транскрипции сохраняет единый таймлайн:
- Одна транскрипция языка оригинала с реальным таймингом.
- Один раунд правок — имена, термины, пунктуация.
- N переводов этого исправленного текста, каждый наследует те же границы реплик.
Именно шаг 2 даёт основной выигрыш. Фамилия с опечаткой, исправленная до перевода, исправлена везде. Та же фамилия, исправленная после, — это уже восемь отдельных правок. Если у вас уже есть готовый SRT и нужны только остальные языки, статья про перевод SRT без нарушения тайминга разбирает инструменты, которые сохраняют границы реплик.
В 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 принимает один файл субтитров на язык для каждого видео, и загружается он отдельным шагом. Единого файла субтитров «на несколько языков» для загрузки не существует — несколько языков живут на платформе, а не в файле. Для описанного выше процесса это хорошая новость: каждый слой перевода экспортируется как отдельный .srt, и каждый .srt становится одним языком на видео.
Сначала задайте язык видео
Прежде чем что-либо загружать, проверьте, какой язык задан самому видео. В справке YouTube отмечено, что автоматические субтитры создаются только на языке видео по умолчанию, а заданный вами язык ещё и определяет, как YouTube подписывает исходную дорожку. Если у видео указан не тот язык, рядом с вашими загрузками окажется автоматическая расшифровка не на том языке.
Пошагово в YouTube Studio
- Откройте YouTube Studio и выберите Субтитры в меню слева.
- Выберите видео.
- Нажмите Добавить язык и выберите язык файла, который собираетесь загрузить.
- В столбце «Субтитры» нажмите Добавить, затем Загрузить файл.
- Выберите вариант загрузки файла с информацией о времени показа (в английском интерфейсе: With timing) — в файле SRT или VTT тайм-коды уже есть — и продолжите.
- Выберите файл этого языка и нажмите Сохранить.
- Повторите шаги с 3 по 6 для каждого из остальных языков.
Переводы названия и описания находятся в той же строке для каждого языка, в отдельном столбце, и их стоит заполнить: зритель, который ищет на испанском, видит испанское название.
Что на самом деле видят зрители
Каждый загруженный язык появляется в меню субтитров плеера, и зритель выбирает один из них. YouTube отображает все субтитры в собственном стиле плеера, и каждый зритель может изменить его под себя, так что шрифты и цвета из вашего файла не увидит никто. Если внешний вид — часть видео, вшейте этот язык в видео, а остальные загрузите файлами.
Встроенный автоперевод YouTube бесплатен и мгновенен, и по цене его действительно трудно превзойти, — но он переводит собственный автоматический транскрипт, поэтому любое слово, которое распознавание услышало неверно, окажется неверным сразу на всех языках. Загрузка собственных исправленных переводов заменяет эти догадки для тех языков, которые важны вам.
Что предлагает каждый инструмент
| Sablate | Автоперевод YouTube | Subtitle Edit | Облачные сервисы субтитров | |
|---|---|---|---|---|
| Цена | $29 разово | Бесплатно | Бесплатно, open source | Ежемесячная подписка |
| Видео покидает ваш компьютер | Нет, если вы сами не включите облачный 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 — подробности того, что входит в тариф, смотрите на странице тарифов.
Коротко
Многоязычные субтитры — это один транскрипт и несколько слоёв, а не несколько транскриптов. Транскрибируйте один раз. Исправьте транскрипт до того, как начнёте что-либо переводить. Добавляйте языки как слои на тех же таймкодах. Проверяйте скорость чтения и шрифты для каждого языка — оба параметра меняются вместе с текстом. Затем экспортируйте именно тот формат доставки, который принимает ваша платформа, — а если ответ «все три», объём работы от этого не меняется.
Часто задаваемые вопросы
Как добавить субтитры на нескольких языках к одному видео?
Сначала транскрибируйте видео один раз на языке оригинала и исправьте транскрипт, а затем переведите его на каждый нужный язык отдельным слоем с теми же таймкодами. После этого выберите способ доставки: отдельный файл субтитров на каждый язык, одно видео с переключаемыми дорожками для всех языков или отдельную вшитую копию под каждый язык. Порядок важен: любую ошибку, исправленную до перевода, вам не придётся исправлять повторно в каждом языке.
Переводить видео или переводить файл субтитров?
Переводите файл субтитров. Тайминг уже существует и уже верен, поэтому перевод превращается в чисто текстовую операцию, которая просто использует его повторно. Повторный запуск распознавания речи для каждого языка даст разные границы реплик в каждой версии, а значит, каждый язык «уплывёт» по-своему, и одну и ту же проблему синхронизации придётся решать снова и снова.
Может ли один MP4 хранить субтитры на нескольких языках?
Не надёжно. У MP4 есть тип дорожки для субтитров, но поддержка в плеерах непостоянна, а оформление обычно теряется. Контейнер, созданный именно для этой задачи, — MKV: он хранит по дорожке субтитров на каждый язык плюс вложенный шрифт и позволяет зрителю переключать язык прямо в плеере. Для доставки в MP4 используйте отдельные файлы или вшивайте по одному языку в каждую копию.
Почему переведённые субтитры перестают укладываться в тайминг?
Потому что языки не совпадают по длине. Строка, переведённая с английского на испанский, французский или немецкий, обычно становится длиннее на 20–30%, а прочитать её нужно за то же самое число секунд. Ломается не реплика, а скорость чтения. Чинить это нужно сокращением формулировки или разбивкой реплики на две, а не сдвигом таймкодов.
Нужен ли переведённым субтитрам другой шрифт?
Часто — да. Большинство дисплейных шрифтов для субтитров покрывают только латиницу, кириллицу и греческий. Для арабского, иврита, тайского, деванагари, хангыля и CJK нужен шрифт, который действительно содержит эти глифы, иначе при вшивании появятся пустые прямоугольники. Проблема проявляется только на рендере, поэтому её стоит проверить заранее, а не после экспорта двенадцати языков.
Сколько языков — это уже слишком много для одного видео?
Для MKV с переключением языков или набора файлов практического потолка нет — добавление языка добавляет файл, а не рендер. А вот для вшитых копий он есть, потому что каждый язык — это отдельное кодирование видео и отдельная загрузка. Большинство вшивает один-два языка основной аудитории, а остальные отдаёт файлами.
Как добавить субтитры на нескольких языках к видео на YouTube?
Загрузите по одному файлу субтитров на каждый язык. В YouTube Studio откройте «Субтитры», выберите видео, нажмите «Добавить язык», затем «Добавить» в столбце «Субтитры», выберите «Загрузить файл» и вариант загрузки файла с информацией о времени показа (в английском интерфейсе: With timing) и укажите SRT или VTT этого языка. Повторите для каждого языка. Зрители выбирают язык в меню субтитров плеера, и каждый язык показывается в собственном стиле субтитров YouTube.