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

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

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

Недавно я занимался кодированием 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 to the audio and subtitle streams in the output.

Video encoding options after -c:v you can read about elsewhere.

Finally copy as-is the audio and subtitle streams to the output file. The output must be MKV in order to embed the subtitles and all the metadata correctly.

On my Macbook Air 2011, this encode took about 6 hours and spat out a perfect 2.4GB MKV file.

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

ffmpeg -i VTS_01_1.VOB -sameq -strict experimental -ss 1612 -t 28 test.mpg
Другие вопросы по тегам