Качество преобразования VOB в FFmpeg

22096
slhck

Я пытаюсь преобразовать файл 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?

15
Смотрите совет в этой теме: [конвертируйте дешифрованные .vobs в .avi с помощью ffmpeg в Ubuntu] (http://superuser.com/questions/222887/convert-decrypted-vobs-to-avi-with-ffmpeg-on-ubuntu ) harrymc 13 лет назад 0

3 ответа на вопрос

26
Stanley Williams
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% качество по умолчанию).

Я вижу, это хорошая информация, чтобы знать. Все еще ищем какой-то разумный способ сжатия и поддержания качества (наверняка, возможно, потребуется 4 минуты при достойном качестве в 10-20 МБ ... может быть, даже 50 МБ - это хорошо). 13 лет назад 0
Что делать, если есть другие VOB, который является частью фильма. Ffmpeg знает, чтобы включить их? Sun 8 лет назад 1
Вы можете `cat * .VOB> output.vob` dmgl 6 лет назад 1
3
mafrosis

Недавно я занимался кодированием 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
Jeff

The syntax in the previous answer doesn't work on my Mac OS. This one seemed to work fine, with slightly different options (-sameq to match the input quantizer, -ss for the start time offset and -t for the duration):

ffmpeg -i VTS_01_1.VOB -sameq -strict experimental -ss 1612 -t 28 test.mpg 
Ответы сортируются по голосованию, а не по времени. Вы должны отредактировать свой ответ, чтобы было ясно, какой предыдущий ответ вы имеете в виду. Isaac Rabinovitch 11 лет назад 3
Вы должны использовать старую версию, так как опция `-sameq` устарела. В старых версиях используйте `-vcodec` /` -acodec` вместо `-c: v` /` -c: a`. mark4o 11 лет назад 1

Похожие вопросы