Bir DVD kopyalanan bir VOB dosyasını Ubuntu 13.10 bir avi içine dönüştürmek çalışıyorum. Denedim dvdrip
, bir kare sayısı hatası ya da bir şey nedeniyle başarısız oldu. Ben de acidrip denedim, ama her zaman kullanmak istemediğim bir ses parçası seçer. Aşağıdaki özelliklere sahip bir avi oluşturmak için bir komut satırı çözümüne sahip olmayı tercih ederim:
- mplayer ile kullanılabilir (yani adım işlevlerini kullanarak)
- altyazı gerektiği gibi (veya hiç kimse)
- doğru ses parçasıyla
- senkronize video ve ses ile
Bazılarını denedim ffmpeg
ve avconv
komutları denedim ve bir avi oluşturmayı başardım, ancak video ve ses tamamen senkronize değildi. Peki VOB dosyasının bir avi dosyasına dönüştürülmesi için hangi seçenekleri kullanmalıyım?
Önerilen seçenekler hakkında bazı açıklamalar takdir ediyorum!
Ek bilgi:
ffmpeg
Komut Giriş dosyası için aşağıdaki çıktıyı verirInput #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
Aşağıdaki komut
ffmpeg -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -ss 589 -t 274 -sameq -acodec copy -ab 320k output.avi
örneğin Ubuntu oturumumun çökmesine neden oldu.
Aşağıdaki komut
avconv -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -acodec copy -vcodec copy output.avi
örneğin aşağıdaki hatayla sonuçlandı:
Application provided invalid, non monotonically increasing dts to muxer in stream 1: 374 >= 374 av_interleaved_write_frame(): Invalid argument
Aşağıdaki komut
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
örneğin aşağıdaki hatayla sonuçlandı:
Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
Aşağıdaki komut
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
örneğin bazı kareler için çalışıyor gibiydi. Ama çok geçmeden formun birçok hatayla karşılaştım
[ac3 @ 0x120d480] frame sync error Error while decoding stream #0:1 frame CRC mismatch
Aşağıdaki komut
mencoder Videos/Test/VIDEO_TS/VTS_01_1.VOB -oac copy -ovc x264 -x264encopts bitrate=2500 -o output.avi
bazı dönüştürme yaptım, ancak (i) kullanmak istemediğim halde altyazı kullanıyor (ii) sesi yanlış anladı (ses ve video çok yanlış yerleştirildi) ve (iii) filmin gerçekte gittiğinden daha yavaş görünüyor (alabilir) 90 dakikalık bir film için 2 saat).
Burada (Xeratul üçüncü yazı) verilen komutu denedim , ancak hata ile durdu
FATAL: Cannot initialize video driver.
Mencoder sayfasına bakmak için aşağıda yapılan öneriyi denedim . Bu sayfa iki geçiş kullanmanızı önerir:
birincisi film hakkındaki bilgileri okur, ikincisi bu bilgileri kodlamak için kullanır.
ancak hangi bilginin çıkarılacağı veya ikinci geçişte nasıl kullanılacağı açıklanmamaktadır . Bu yüzden aşağıdaki komutu kullandım:
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
videoyu dönüştürdü, ancak istenmeyen bir altyazıyla. Bir altyazı kullanmaktan nasıl kaçınabileceğim net değil.
avconv
avi sonra VOB dosyalarını dönüştürmek için kullanın . Komut avconv -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -acodec copy -vcodec copy test.avi
bir hata verdi 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
deneyin
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
O zaman deneyin 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
- kısmen Arch doc @ dg99'dan aldı.
ffmpeg
uzun zaman önce beri itiraz edildi, sen kendi halefini kullanmak gerekiyordu:avconv
.