Как объединить видео и субтитры в формате MKV с помощью пакетного файла
Если вы часто работаете с видеофайлами, то, вероятно, столкнулись с необходимостью объединения видео и субтитров в формате MKV. Объединение медиафайлов может быть трудоемким процессом, особенно если у вас есть множество файлов. В этой статье мы расскажем, как создать пакетный файл для быстрого объединения видео и субтитров, используя простые команды.
Зачем объединять видео и субтитры?
Объединение видео и субтитров может быть полезным по нескольким причинам:
- Удобство: Субтитры в одном файле с видео облегчают просмотр, так как не нужно следить за отдельными файлами.
- Совместимость: Некоторые медиаплееры требуют, чтобы субтитры были встроены в видеофайл.
- Эффективность: Сведите к минимуму количество файлов на вашем медиа-сервере, что упрощает управление ними.
Проблема с конвертацией субтитров
Вопрос, который волнует многих пользователей, — это конвертация субтитров в формате SSA при использовании программы Handbrake. Это может стать проблемой, если вы хотите сохранить оригинальные субтитры, которые идут с фильмом. В случае, если хотите обойти эту проблему, можно использовать пакетные файлы для объединения оригинальных субтитров с видеофайлом.
Как создать пакетный файл для объединения файлов
Для создания пакетного файла, который объединит видео и субтитры, вам понадобятся следующие исходные файлы:
1.mkv
– ваше видео.1.ori.mkv
– исходный файл с субтитрами.
Теперь создайте пакетный файл (например, combine.bat
) с использованием следующей команды:
@echo off
for %%f in (*.mkv) do (
set "name=%%~nf"
ffmpeg -i "%%f" -i "!name!.ori.mkv" -c copy -map 0:v -map 0:a -map 1:s "!name!.muxed.mkv"
)
В этом скрипте мы используем ffmpeg
, мощный инструмент для обработки медиафайлов. Скрипт перебирает все файлы в каталоге с расширением .mkv
, а затем объединяет их с соответствующими оригинальными субтитрами.
Структура команд
@echo off
– отключает отображение команды в окне консоли.for %%f in (*.mkv)
– перебирает все файлы с расширением.mkv
.set "name=%%~nf"
– сохраняет имя текущего файла без расширения.ffmpeg -i "%%f"
– указывает, что это входной файл видео.-i "!name!.ori.mkv"
– указывает на файл с субтитрами.-c copy
– копирует аудио и видео потоки без перекодирования.-map 0:v
– выбирает видео поток из первого файла.-map 0:a
– выбирает аудио поток из первого файла.-map 1:s
– выбирает субтитры из второго файла.
Заключение
Создание пакетного файла для объединения видео и субтитров значительно упрощает задачу управления данными на вашем медиа-сервере. С помощью данного метода вы сможете быстро обрабатывать множество файлов без необходимости отдельно конвертировать и монтировать каждый из них.
Поделитесь с нами, как вы справляетесь с созданием и управлением вашими медиаколлекциями. Ваш опыт может помочь другим пользователям!