15

Я пытаюсь преобразовать файл VOB в MPEG, как это:

./ffmpeg.exe -i VTS_01_2.VOB -r 24  out1.mpeg

Однако качество очень плохое.

Я попробовал ./ffmpeg.exe -i VTS_01_2.VOB -vcodec copy out1.mpeg

Но размер файла слишком велик (90% от исходного - 300 МБ для 4-минутного видео), и Windows Movie Maker зависает при попытке его импортировать.

Как я могу получить MPEG достойного качества из моего VOB?

3 ответа3

26
ffmpeg -i input.vob -c:v copy -c:a copy output.mpg  

Эта команда не уменьшает размер и не изменяет качество. Это просто демультиплексирует VOB и переупаковывает его как MPEG. Вы должны остаться с точно таким же качеством. Размер изменяется минимально из-за потери накладных расходов контейнера VOB.

Если вы хотите сохранить качество и уменьшить размер, вам придется преобразовать его с помощью другого кодировщика, такого как x264 или XviD, в контейнер MKV или MP4, например:

ffmpeg -i input.vob -c:v libx264 -c:a aac -strict experimental output.mp4

Это даст вам видео H.264 и аудио AAC. Установите -crf 23 для качества видео, где меньше означает лучшее качество (нормальные значения от 18 до 28). Качество звука может быть изменено с -b:a 192k для фиксированного битрейта, или, если вы хотите использовать другой кодировщик, такой как -c:a libfaac , вы можете выбрать VBR с -q:a 100 (качество по умолчанию 100%).

3

Недавно я занимался кодированием VOB после копирования нескольких незаменимых DVD. Используя ffmpeg version 1.2.4 из Homebrew на OSX:

ffmpeg -probesize 2G -analyzeduration 2G \
    -i VTS_04.VOB \
    -map 0:0 -map 0:1 -map 0:2 -map 0:9 \
    -metadata:s:a:0 language=eng -metadata:s:a:0 title="English Stereo" \
    -metadata:s:a:1 language=jap -metadata:s:a:1 title="Japanese Stereo" \
    -metadata:s:s:0 language=eng -metadata:s:s:0 title="English"
    -c:v libx264 -filter:v yadif -crf 18 -level 3.1 -tune film \
    -c:a copy \
    -c:s copy \
    OutputMovie.mkv

Мне пришлось установить -probesize и -analyzeduration так как в VOB-файле 5.4 ГБ были потоки, начинающиеся позже в файле, которые не найдены без этих опций.

Затем параметр -map позволяет мне выбрать, какие потоки передавать на выход - видеопоток, первые два аудиопотока и 9-й поток, которые являются субтитрами. Используйте ffprobe-probesize & -analyzeduration для просмотра списка потоков).

Добавьте некоторые- -metadata в потоки аудио и субтитров на выходе.

Опции кодирования видео после -c:v вы можете прочитать в другом месте.

Наконец, скопируйте как-есть потоки аудио и субтитров в выходной файл. Выходные данные должны быть MKV чтобы правильно вставлять субтитры и все метаданные.

На моем Macbook Air 2011 это кодирование заняло около 6 часов и вылилось в идеальный 2,4 ГБ файл MKV.

-1

Синтаксис в предыдущем ответе не работает на моей Mac OS. Похоже, что этот работает нормально, с немного другими параметрами (-sameq для соответствия входному квантователю, -ss для смещения времени начала и -t для продолжительности):

ffmpeg -i VTS_01_1.VOB -sameq -strict experimental -ss 1612 -t 28 test.mpg

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .