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