Я намагаюся перетворити файл VOB, скопійований з DVD, у avi в Ubuntu 13.10. Я спробував dvdrip
, що не вдалося через помилку підрахунку кадрів чи щось таке. Я також спробував acidrip, але він завжди обирав аудіозапис, який я не хотів використовувати. Я б хотів мати рішення в командному рядку, щоб створити avi з такими можливостями:
- може використовуватися з mplayer (тобто, використовуючи крокові функції)
- із необхідним підзаголовком (або взагалі ніким)
- з правильним звуковим записом
- з синхронізацією відео та аудіо
Я спробував деякі ffmpeg
і avconv
команди і вдалося створити AVI, але відео і аудіо були укомплектувати синхронізовані. Отже, які параметри я повинен використовувати, щоб перетворити файл VOB у файл avi?
Буду вдячний за деякі пояснення щодо запропонованих варіантів!
Додаткова інформація:
ffmpeg
Команда дає наступний висновок для вхідного файлуInput #0, mpeg, from 'Videos/Test/VIDEO_TS/VTS_01_1.VOB': Duration: 00:04:53.32, start: 0.045500, bitrate: 29284 kb/s Stream #0.0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x480 [PAR 8:9 DAR 4:3], 7500 kb/s, 27.68 fps, 59.94 tbr, 90k tbn, 59.94 tbc Stream #0.1[0x82]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s Stream #0.2[0x80]: Audio: ac3, 48000 Hz, 5.1, s16, 448 kb/s Stream #0.3[0x81]: Audio: ac3, 0 channels [buffer @ 0x15ca6e0] w:720 h:480 pixfmt:yuv420p
Наступна команда
ffmpeg -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -ss 589 -t 274 -sameq -acodec copy -ab 320k output.avi
наприклад, призвів до збою моєї сесії Ubuntu.
Наступна команда
avconv -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -acodec copy -vcodec copy output.avi
наприклад, виникла така помилка:
Application provided invalid, non monotonically increasing dts to muxer in stream 1: 374 >= 374 av_interleaved_write_frame(): Invalid argument
Наступна команда
avconv -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -f avi -c:v mpeg4 -b:v 800k -g 300 -bf 2 -c:a libmp3lame -b:a 128k output.avi
наприклад, виникла така помилка:
Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
Наступна команда
avconv -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -f avi -c:v mpeg4 -b:v 800k -g 300 -bf 2 -c:a ac3 -b:a 128k output.avi
наприклад, здавалося, працює для деяких кадрів. Але дуже скоро я зіткнувся з багатьма помилками форми
[ac3 @ 0x120d480] frame sync error Error while decoding stream #0:1 frame CRC mismatch
Наступна команда
mencoder Videos/Test/VIDEO_TS/VTS_01_1.VOB -oac copy -ovc x264 -x264encopts bitrate=2500 -o output.avi
зробив деякі перетворення, але це (i) використання субтитрів, хоча я не хотів їх використовувати (ii) помилково звук (аудіо та відео страшенно розміщено) і (iii) здається, повільніше, ніж фільм насправді йде (може зайняти 2 години на 90-хвилинний фільм).
Я спробував командувати даним тут (третій пост від Xeratul), але це припинилося з помилкою
FATAL: Cannot initialize video driver.
Я спробував запропоновану нижче пропозицію переглянути сторінку mencoder . Ця сторінка пропонує використовувати два проходи:
перший читає інформацію про фільм, другий використовує цю інформацію для кодування.
але ні пояснено, яку інформацію витягти, ні як їх використати у другому проході. Тому я використав таку команду:
mencoder Videos/Test/VIDEO_TS/VTS_01_1.VOB -nosound -ovc x264 \ -x264encopts direct=auto:pass=2:bitrate=900:frameref=5:bframes=1:\ me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \ -vf scale=-1:-10,harddup -o video.avi
який конвертував відео, але з небажаним підзаголовком. Зовсім не ясно, як я можу уникати використання підзаголовків.
avconv
потім використовувати для конвертації файлів VOB в AVI. Команда avconv -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -acodec copy -vcodec copy test.avi
дала помилку Application provided invalid, non monotonically increasing dts to muxer in stream 1: 374 >= 374 av_interleaved_write_frame(): Invalid argument
...
avconv -i snatch_1.vob -f avi -c:v mpeg4 -b:v 800k -g 300 -bf 2 -c:a libmp3lame -b:a 128k snatch.avi
спробуйте це
Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
mencoder yourvob -oac copy -ovc x264 -x264encopts pass=1:preset=veryslow:fast_pskip=0:tune=film:frameref=15:bitrate=3000:threads=auto -nosub -o /dev/null
потім mencoder yourvob -oac copy -ovc x264 -x264encopts pass=2:preset=veryslow:fast_pskip=0:tune=film:frameref=15:bitrate=3000:threads=auto -nosub -o video.avi
- взяв це частково з Arch doc @ dg99, пов'язаного.
ffmpeg
є застарілим , так давно, ви повинні використовувати свій власний наступник:avconv
.