Как добавить несколько файлов с субтитрами в формате .ass в видео с помощью FFmpeg
Если вы работаете с видео и хотите добавить несколько файлов субтитров формата .ass как мягкие (soft) субтитры, программа FFmpeg — отличный инструмент для этой задачи. В этой статье мы расскажем, как правильно встроить несколько файлов субтитров .ass в одно видео, сохранив их отдельно как переключаемые дорожки.
Что такое мягкие субтитры и зачем их использовать
Мягкие субтитры (soft subtitles) — это субтитры, которые не вшиваются непосредственно в видео, а добавляются как отдельные дорожки. Это дает возможность пользователю выбирать, показывать их или нет, менять язык или отключать субтитры вовсе. В формате .ass
(Advanced SubStation Alpha) субтитры имеют более продвинутые возможности по стилю, позиционированию и анимации, что делает их популярными для профессионального использования.
Подготовка файлов для добавления
Для начала убедитесь, что у вас есть видеофайл и несколько файлов субтитров в формате .ass
. Допустим, ваш видеофайл называется video.mkv
, а субтитры — subs1.ass
и subs2.ass
.
Основная команда FFmpeg для добавления нескольких файлов .ass
Чтобы добавить несколько файлов субтитров в видео как отдельные дорожки, используйте следующую команду:
bash
ffmpeg -i video.mkv -i subs1.ass -i subs2.ass \
-map 0:v -map 0:a -map 1 -map 2 \
-c:v copy -c:a copy -c:s ass \
output.mkv
Разбор команды:
-i video.mkv
— входное видео.-i subs1.ass
и-i subs2.ass
— входные файлы субтитров.-map
— указывает, какие дорожки копировать в выходной файл:-map 0:v
— видео из первого файла.-map 0:a
— аудио из первого файла.-map 1
— весь контент второго входного файла (первый файл субтитров).-map 2
— весь контент третьего входного файла (второй файл субтитров).
-c:v copy
и-c:a copy
— копирование видео и аудио без перекодирования.-c:s ass
— кодирование субтитров в формате ASS (оставить как есть).output.mkv
— имя выходного файла.
Добавление настроек языка и названия субтитров
Для улучшения удобства использования медиаплеерами, стоит добавить параметры к дорожкам субтитров, такие как язык и название:
bash
ffmpeg -i video.mkv -i subs1.ass -i subs2.ass \
-map 0:v -map 0:a -map 1 -map 2 \
-c:v copy -c:a copy -c:s ass \
-metadata:s:s:0 language=eng \
-metadata:s:s:0 title="English Subtitles" \
-metadata:s:s:1 language=rus \
-metadata:s:s:1 title="Русские субтитры" \
output.mkv
Где:
-metadata:s:s:0
— метаданные для первой субтитровой дорожки (первая после аудио и видео).-metadata:s:s:1
— для второй субтитровой дорожки.language
— язык субтитров по коду ISO 639-2.title
— удобочитаемое название субтитров.
Советы по работе с несколькими субтитрами в FFmpeg
- Порядок подключения — порядка при помощи опции
-map
важно, чтобы правильно сопоставить аудио, видео и субтитры. - Кодирование субтитров — многие контейнеры поддерживают формат ASS, поэтому
-c:s ass
подходит для сохранения функциональности. - Проверьте поддержку плеера — убедитесь, что ваш медиа проигрыватель поддерживает отображение субтитров в вашем формате контейнера (MKV поддерживает мягкие субтитры хорошо).
Заключение
Добавление нескольких .ass
файлов субтитров в видео с помощью FFmpeg — задача, выполнимая за пару команд. Такой подход позволяет создавать удобные видеозаписи с переключаемыми и многоязычными субтитрами, повышая уровень удобства для пользователей. Не забывайте указывать метаданные для лучшего отображения и поиска среди субтитров.
Используйте приведенные примеры команд, чтобы быстро и качественно интегрировать ваши субтитры в видео!