Хардсаб или софтсаб: что вам на самом деле стоит выбрать?
Хардсаб и софтсаб: один вшит в пиксели видео и его нельзя отключить, другой — отдельная дорожка. Разбираемся, что из этого реально принимает каждая платформа.
Хардсаб вшит в пиксели видео, и его нельзя отключить. Софтсаб — это отдельная дорожка, которую поверх картинки рисует плеер: зритель может скрыть её, изменить оформление или переключить на другой язык. Выбирайте хардсаб, если площадка не умеет читать файл субтитров, а софтсаб — во всех остальных случаях.
Это решение о доставке, а не о качестве. Список площадок, которые отказываются от файла субтитров, короче, чем вам внушили соцсети, а ошибка в выборе стоит полного перекодирования.
Хардсаб и софтсаб бок о бок
| Свойство | Хардсаб | Софтсаб |
|---|---|---|
| Где живёт текст | В пикселях каждого кадра | В отдельной дорожке или файле |
| Зритель может отключить | Нет | Да |
| Зритель может переключить язык | Нет, одно видео на каждый язык | Да, если дорожки добавлены |
| Оформление сохраняется | Всегда, ровно так, как отрисовано | Только если это поддерживает плеер |
| Требует перекодирования | Да | Нет |
| Можно исправить после экспорта | Нет, нужен новый рендер из мастера | Да, достаточно отредактировать текстовый файл |
| Работает в любом плеере | Да | Зависит от плеера |
| Машиночитаемо и индексируется | Нет | Да |
| Что вы поставляете | Одно видео на каждый язык | Одно видео плюс небольшие текстовые файлы |
Строка, которая закрывает большинство споров, — седьмая. У хардсаба нет сценария отказа: если видео вообще воспроизводится, текст на месте — того размера и цвета, что вы выбрали, — будь то на десятилетнем смарт-телевизоре, в ленте с автовоспроизведением без звука или в миниатюре предпросмотра. Все остальные строки таблицы — в пользу софтсаба, и именно эта строка объясняет, почему хардсаб до сих пор никуда не делся.
Почему один требует перекодирования, а другой — нет
Чтобы вписать текст в кадр, его нужно декодировать, нарисовать на нём текст и закодировать заново. Последний шаг неизбежен — изменённые пиксели приходится записывать обратно, а видеокодировщики работают с потерями.
Софтсаб ничего не просит у кодировщика. Мукс копирует существующие видео- и аудиопотоки без изменений и добавляет к ним третий поток рядом:
ffmpeg -i input.mp4 -i subs.srt -c copy output.mkv
Вшивание должно затронуть каждый кадр, и короткий путь -c copy для видеопотока недоступен:
ffmpeg -i input.mp4 -vf "subtitles=subs.srt" -c:a copy output.mp4
Первая команда выполняется примерно за то время, которое нужно, чтобы прочитать файл с диска. Вторая прогоняет всё видео через кодировщик, а для двухчасовой записи это долгое ожидание и заметная потеря в качестве. Эта потеря управляема, а не загадочна — она зависит от значения CRF, и в статье про вшивание субтитров в видео разобраны настройки, при которых потеря остаётся незаметной.
Эта асимметрия только растёт, как только языков становится больше одного. Восемь языков в виде софтсаба — это восемь небольших текстовых файлов или восемь дорожек внутри одного .mkv. Восемь вшитых языков — это восемь полных перекодирований, восемь файлов для хранения и восемь отдельных загрузок. Поэтому доставка субтитров на нескольких языках обычно означает мягкие дорожки для большинства языков и вшивание только для одного-двух самых важных.
Софтсаб действительно доходит до зрителя?
Именно здесь аккуратный ответ разваливается, и об этом стоит сказать прямо: между правильным файлом субтитров и зрителем, который его читает, есть пять мест, где что-то может сломаться.
- Файл теряет связь с видео. Отдельный
.srt-файл движется как второе вложение, а вторые вложения теряются в мессенджерах, на общих дисках и при повторной загрузке. У дорожки, встроенной в контейнер через мукс, такой проблемы нет. - MP4 почти не поддерживает субтитры. Контейнер несёт их как
mov_text— простой формат таймированного текста без шрифтов, цветов и позиционирования. Плееры Apple его читают, многие остальные молча игнорируют эту дорожку. Это самая частая причина, по которой.mp4с мягкими субтитрами не показывает вообще ничего. - Оформление зависит от того, кто его отрисовывает. Дорожка
.assнесёт обводки, позиционирование, шрифты и тайминг караоке. mpv, VLC и Plex отрисовывают всё это, а бюджетное приложение на телевизоре выбрасывает всё и показывает обычный белый текст. Сравнение форматов показывает, какие функции переживают какое преобразование. - Платформы перекодируют то, что вы загружаете. Соцсеть разбирает ваш файл и собирает его заново по своей спецификации. Всё, чего она не ожидала увидеть, включая поток субтитров, до конца этой пересборки не доживает.
- Автовоспроизведение без звука. Ленты запускают видео беззвучно и с выключенными субтитрами по умолчанию, поэтому субтитр, который зрителю нужно включить самому, — это субтитр, который почти никто не увидит.
Всё это не делает софтсаб плохим выбором по умолчанию. Это просто объясняет, почему «у меня в VLC всё работает» — совсем не то же самое, что «это работает для аудитории».
Какие платформы принимают файл субтитров?
Проверено по официальной документации каждой платформы в сентябре 2026 года:
| Площадка | Принимает файл субтитров | Что выбрать |
|---|---|---|
| YouTube | Да, .srt, .vtt, .ttml и другие | Софтсаб |
| Vimeo | Да, .srt и .vtt | Софтсаб |
Да, .srt с локалью в имени файла | Софтсаб | |
Да, .srt | Софтсаб | |
| TikTok | Нет | Хардсаб |
| Instagram Reels | Нет | Хардсаб |
| X | Нет | Хардсаб |
| Собственный сайт | Да, .vtt в элементе <track> | Софтсаб |
| VLC, mpv, Plex, Jellyfin | Да, .srt или .ass, отдельным файлом или внутри .mkv | Софтсаб |
У трёх строк есть острые углы. Список форматов, которые принимает YouTube, — это около двадцати позиций, и .ass среди них нет, так что оформление .ass-файла исчезает в момент загрузки. Facebook отклоняет файл субтитров, если в его имени нет локали в точном виде video.en_US.srt. А YouTube вообще не включает .mkv в список допустимых контейнеров для загрузки, из-за чего многодорожечный .mkv остаётся форматом доставки для плееров, а не для платформ.
Три строки с «Нет» заслуживают уточнения. TikTok, Instagram и X умеют генерировать субтитры прямо в приложении, но это не то же самое, что принимать ваши. Вы получаете их распознавание речи, их оформление, их переносы строк и их представление о том, с какой скоростью можно читать строку, — и никак на это не влияете.
Когда выбирать хардсаб, софтсаб или оба варианта
«Я загружаю на YouTube или Vimeo». Софтсаб. Один .srt или .vtt на каждый язык. Текст индексируется, зрители сами переключают язык, а опечатку можно исправить за десять секунд, не трогая видео.
«Я публикую в TikTok, Reels или X». Хардсаб, потому что больше ничего не выживает. Оформляйте его под беззвучную вертикальную ленту, которую листают пальцем, а не под просмотр в гостиной.
«Я отправляю монтаж клиенту на согласование». Хардсаб. Вы отправляете не мастер, а то, что должно выглядеть правильно с первого раза — в любой программе, по которой рецензент случайно кликнет дважды.
«Я сдаю фильм, библиотеку курса или архив». Софтсаб в .mkv: одна дорожка на язык, со шрифтами внутри. Это единственный вариант доставки, который держит все языки в одном файле и всё равно оставляет зрителю выбор.
«Я публикую одно и то же видео на пяти языках». И то, и другое. Мягкие дорожки для всех пяти, вшитые копии — для одного-двух языков с самой большой аудиторией.
«Я понятия не имею, где видео в итоге окажется». Держите чистый мастер и файлы субтитров рядом с ним, а копии со вшитыми субтитрами делайте по мере необходимости. Обратный порядок — это ошибка, которая обходится в полдня работы: софтсаб можно вшить в любой момент позже, а вшитый хардсаб обратно уже не вытащить.
Как получить оба варианта из одного транскрипта
Практический вопрос редко звучит как «что лучше». Обычно это «как получить оба варианта из одной и той же работы» — ведь транскрипт, тайминг и оформление в обоих случаях одинаковы, различается только финальный экспорт.
Именно так устроен Sablate. Задача хранит одну транскрипцию плюс слой перевода на каждый язык, у каждого слоя — свой стиль оформления и свой шрифт для своей письменности, а развилка происходит на этапе экспорта: файлы субтитров — для платформ, которые их читают, вшитый .mp4 — для тех, что не читают, или один .mkv с дорожкой на каждый язык — для локального воспроизведения. Между этими тремя вариантами ничего не транскрибируется дважды, и видео не покидает компьютер. Бесплатный тариф покрывает видео до десяти минут, три задачи в месяц и вшитый .mp4 с небольшой отметкой в углу; экспорт в .ass и многодорожечный .mkv входят в Pro за $29 разово — тариф указан на странице с тарифами.
Но если речь об одном файле на одном языке, честный ответ таков: возможно, вам вообще не нужно никакое приложение:
| Задача | FFmpeg и mkvmerge | Subtitle Edit | Sablate |
|---|---|---|---|
| Вшить файл субтитров в картинку | Да | Да | Да |
Замуксить дорожку субтитров в .mkv | Да | Нет | Да, в Pro |
| Транскрибировать речь в файл субтитров | Нет | Да | Да |
| Один транскрипт, много языковых слоёв | Нет | Частично | Да |
| Оформление и шрифты письменности для каждого языка | Нет | Нет | Да |
| Цена | Бесплатно | Бесплатно | $29 разово |
FFmpeg и mkvmerge муксуют и вшивают бесплатно, а Subtitle Edit читает больше форматов субтитров, чем когда-либо будет читать Sablate. Если вся ваша задача — один язык и хирургия над форматом, это инструменты лучше, и стоят они ноль.
Коротко
Софтсаб по умолчанию, хардсаб — там, где площадка не оставляет выбора, и чистый мастер в любом случае. Вшивание — единственный необратимый шаг в работе с субтитрами, так что делайте его в последнюю очередь и решайте для каждой площадки отдельно, а не для всего проекта сразу. Если языков больше одного, сначала соберите мягкие дорожки, а к каждой вшитой копии относитесь как к отдельному варианту рендера — точно так же, как вы бы отнеслись к вертикальному кропу или к сокращённой версии для соцсетей.