конвертувати дешифровані .vobs в .avi з ffmpeg на ubuntu


2

У мене є файл .vob, який був розірваний з dvd, коли я дивлюся .vob його дуже якісне відео і 5.1 англійський аудіо, але коли я використовую ffmpeg він має сміття відео і моно французький звук.

Для цього використовувалася ця команда:

ffmpeg -i /samba/ripping/vobs/12161840#2.vob -f avi /samba/ripping/avis/test.avi

Я спробував кілька різних варіантів цього, але він ніколи не повертається з нічого хорошого просто великі файли з поганим відео і неправильний звук.

Я знаю, відео хороший і правильний аудіо потоки існують так, як я можу вибрати 5,1 трек і отримати хороше відео?

ffmpeg надає деталі .vob як:

Input #0, mpeg, from '/samba/ripping/vobs/12161840#2.vob':
   Duration: 00:42:05.56, start: 0.287267, bitrate: 5738 kb/s
    Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x576 [PAR 64:45 DAR 16:9], 8436 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0.1[0x80]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
    Stream #0.2[0x81]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
    Stream #0.3[0x82]: Audio: ac3, 48000 Hz, mono, s16, 192 kb/s
Output #0, avi, to '/samba/ripping/avis/test.avi':
  Metadata:
    ISFT            : Lavf52.64.2
    Stream #0.0: Video: mpeg4, yuv420p, 720x576 [PAR 64:45 DAR 16:9], q=2-31, 200 kb/s, 25 tbn, 25 tbc
    Stream #0.1: Audio: mp2, 48000 Hz, mono, s16, 64 kb/s
Stream mapping:
   Stream #0.0 -> #0.0
   Stream #0.3 -> #0.1

Відповіді:


2

Параметри кодування за замовчуванням низькі, наприклад, бітрейт аудіо 64k. Ці значення можна збільшити за допомогою додаткових параметрів командного рядка:

ffmpeg -i sourcefile.vob -ab 128kb -qscale 4 newfile.avi

-ab 128kb встановлює середній бітрейт аудіо на 128kb, і -qscale 3 встановлює масштаб відео квантувача, де q дорівнює 1 (найкраще) або 31 (найгірше) якості.

Для порівняння - 5-хвилинне відео з роздільною здатністю 700x576 з аудіокадром 128 кб:

  • q 10 = ~ 40 МБ
  • q 4 = ~ 80 МБ

Зробивши це ще одним кроком, ви можете конвертувати цілу групу vob в каталог з цією командою bash:

for f in *.vob; do ffmpeg -i "$f" -ab 128kb -qscale 4 "${f%%.vob}.avi"; done;

Ми додаємо $ f у лапки, якщо у назві файлів є пробіли, і $ {f %%. (Це параметри заміщення в bash, дуже корисні! http://tldp.org/LDP/abs/html/parameter-substitution.html )

Є багато інших варіантів, які можна прочитати за адресою: http://www.ffmpeg.org/ffmpeg-doc.html

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.