Próbuję przekonwertować plik VOB skopiowany z DVD na avi w Ubuntu 13.10. Próbowałem dvdrip
, co nie powiodło się z powodu błędu liczby klatek lub coś takiego. Próbowałem też acidrip, ale zawsze wybrałem ścieżkę audio, której nie chciałem używać. Wolę mieć rozwiązanie wiersza polecenia, aby utworzyć avi z następującymi funkcjami:
- do użytku z mplayerem (tj. przy użyciu funkcji krokowych)
- z podtytułem zgodnie z wymaganiami (lub w ogóle nikim)
- z prawidłową ścieżką audio
- z synchronizacją wideo i audio
Próbowałem trochę ffmpeg
i avconv
poleceń i udało się stworzyć avi, ale obraz i dźwięk były całkowicie zsynchronizowane. Więc jakich opcji powinienem użyć, aby przekonwertować plik VOB na plik avi?
Byłbym wdzięczny za wyjaśnienia dotyczące sugerowanych opcji!
Dodatkowe informacje:
ffmpeg
Komenda daje następujące dane wyjściowe do pliku wejściowegoInput #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
Następujące polecenie
ffmpeg -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -ss 589 -t 274 -sameq -acodec copy -ab 320k output.avi
na przykład spowodowało awarię mojej sesji Ubuntu.
Następujące polecenie
avconv -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -acodec copy -vcodec copy output.avi
na przykład spowodował następujący błąd:
Application provided invalid, non monotonically increasing dts to muxer in stream 1: 374 >= 374 av_interleaved_write_frame(): Invalid argument
Następujące polecenie
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
na przykład spowodował następujący błąd:
Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
Następujące polecenie
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
na przykład wydawało się działać dla niektórych ramek. Ale bardzo szybko napotkałem wiele błędów formularza
[ac3 @ 0x120d480] frame sync error Error while decoding stream #0:1 frame CRC mismatch
Następujące polecenie
mencoder Videos/Test/VIDEO_TS/VTS_01_1.VOB -oac copy -ovc x264 -x264encopts bitrate=2500 -o output.avi
dokonałem konwersji, ale (i) korzystam z napisów, chociaż nie chciałem ich używać (ii) pomyliłem dźwięk (audio i wideo są strasznie źle umieszczone) i (iii) wydaje się być wolniejszy niż film, który faktycznie idzie (może zająć 2 godziny na 90-minutowy film).
Próbowałem wydać polecenie tutaj (trzeci post od Xeratul), ale zatrzymało się to z błędem
FATAL: Cannot initialize video driver.
Wypróbowałem podaną poniżej sugestię, aby spojrzeć na stronę mencodera . Ta strona sugeruje użycie dwóch przejść:
pierwszy czyta informacje o filmie, drugi wykorzystuje te informacje do kodowania.
ale ani nie wyjaśniono, które informacje wyodrębnić ani jak ich użyć w drugim przebiegu. Więc użyłem następującego polecenia:
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
które przekonwertowało wideo, ale z niechcianymi napisami. W ogóle nie jest jasne, jak mogę uniknąć używania napisów.
avconv
następnie użyć do konwersji plików VOB do AVI. Polecenie avconv -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -acodec copy -vcodec copy test.avi
dało błąd 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
spróbuj tego
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
wtedy 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
- przyjęła, że w części z doc Arch @ dg99 powiązane.
ffmpeg
jest przestarzała, ponieważ dawno temu, mają używać własnego następcę:avconv
.