Вопрос или проблема
У меня есть несколько файлов VOB, которые я хочу конвертировать в MKV, сохранив все аудиотреки и субтитры, если это возможно автоматически и с одной командой. Я не хочу использовать ничего, кроме ffmpeg
(clever_ffmpeg_gui зависает, и я не хочу другие программы, такие как MakeMKV).
Я попробовал:
ffmpeg -i "concat:VTS_01_1.VOB|VTS_01_2.VOB|VTS_01_3.VOB|VTS_01_4.VOB" -vcodec libx265 -profile:v main10 -x265-params "level=5.1:high-tier=1:crf=20" -pix_fmt yuv420p10le -acodec aac file.mkv
Но в полученном видео есть несколько проблем:
- Нет звука (или мой плеер не воспроизводит никакого звука)
- Видео не воспроизводится, остается на 00:00. Только когда я жду несколько минут, оно начинает воспроизводиться. Я могу перематывать и видеть любой кадр, но он остается статичным, пока я жду. Это происходило со мной раньше при других конверсиях MPG -> MP4/MKV.
- Он имеет только одну аудиодорожку и никаких субтитров.
Ответ или решение
Для конвертации файлов DVD в формат MKV с использованием FFmpeg с сохранением всех аудиодорожек и субтитров можно использовать следующую команду. Она также позволит избежать проблем, которые вы описали, такие как отсутствие звука или задержки при воспроизведении.
Шаг за шагом: Конвертация VOB в MKV с помощью FFmpeg
Ваша текущая команда конвертации, к сожалению, не сохраняет аудиодорожки и субтитры. Рассмотрим, как можно исправить это используя FFmpeg.
Подготовка
Убедитесь, что у вас установлена последняя версия FFmpeg. Вы можете проверить это, запустив команду:
ffmpeg -version
Команда для конвертации
Для конвертации VOB файлов в MKV с сохранением всех аудиодорожек и субтитров, вы можете использовать следующую команду:
ffmpeg -i VTS_01_1.VOB -i VTS_01_2.VOB -i VTS_01_3.VOB -i VTS_01_4.VOB -map 0 -map 1 -map 2 -map 3 -c:v libx265 -preset slow -x265-params "level=5.1:high-tier=1:crf=20" -c:a copy -c:s copy output.mkv
Объяснение параметров
- -i VTS_01_1.VOB -i VTS_01_2.VOB …: Каждое входное VOB-файл добавляется как отдельный параметр.
- -map 0 -map 1 -map 2 -map 3: Эти параметры необходимы, чтобы указать FFmpeg сохранить все потоки (видео, аудио, субтитры) из всех указанных файлов. В вашей ситуации, это будет значить, что для каждого VOB-файла будут сохранены аудио и субтитры.
- -c:v libx265: Используется кодек H.265 (HEVC) для сжатия видео.
- -preset slow: Это предустановка, которая отвечает за скорость обработки. "slow" обеспечивает лучшее качество при разумном времени кодирования.
- -x265-params "level=5.1:high-tier=1:crf=20": Параметры кодека, где
crf
контролирует качество (меньше значение — лучше качество). - -c:a copy: Сохраняет все аудиодорожки без изменения.
- -c:s copy: Сохраняет все субтитры без изменения.
Рекомендации по окончанию работы
- После завершения процесса конвертации проверьте файл output.mkv с помощью плеера, поддерживающего MKV и все соответствующие кодеки, чтобы подтвердить, что все аудиотреки и субтитры корректно воспроизводятся.
- Если у вас возникнут проблемы с воспроизведением видео, убедитесь, что проигрыватель обновлен и поддерживает кодек H.265.
Заключение
С помощью этой команды, вы сможете автоматически конвертировать ваши VOB-файлы в MKV, сохраняя все аудиодорожки и субтитры, без использования внешних инструментов и с минимальными трудозатратами. Надеюсь, это поможет вам решить вашу задачу эффективно и без лишних усилий.