Estou tentando converter um arquivo VOB copiado de um DVD para um avi no Ubuntu 13.10. Eu tentei dvdrip
, que falhou devido a um erro de contagem de quadros ou algo assim. Tentei o acidrip também, mas ele sempre escolhe uma faixa de áudio que não queria usar. Eu preferiria ter uma solução de linha de comando para criar um avi com os seguintes recursos:
- utilizável com mplayer (ou seja, usando as funções de etapa)
- com a legenda, conforme necessário (ou ninguém)
- com a faixa de áudio correta
- com vídeo e áudio sincronizados
Eu tentei alguns ffmpeg
e avconv
comandos e conseguiu criar um avi, mas o vídeo eo áudio foram completamente fora de sincronia. Então, quais opções devo usar para converter o arquivo VOB em um arquivo avi?
Gostaria de receber algumas explicações sobre as opções sugeridas!
Informação adicional:
O
ffmpeg
comando fornece a seguinte saída para o arquivo de entradaInput #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
O seguinte comando
ffmpeg -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -ss 589 -t 274 -sameq -acodec copy -ab 320k output.avi
por exemplo, resultou em uma falha na minha sessão do Ubuntu.
O seguinte comando
avconv -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -acodec copy -vcodec copy output.avi
por exemplo, resultou no seguinte erro:
Application provided invalid, non monotonically increasing dts to muxer in stream 1: 374 >= 374 av_interleaved_write_frame(): Invalid argument
O seguinte comando
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
por exemplo, resultou no seguinte erro:
Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
O seguinte comando
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
por exemplo, parecia funcionar para alguns quadros. Mas muito em breve encontrei muitos erros do formulário
[ac3 @ 0x120d480] frame sync error Error while decoding stream #0:1 frame CRC mismatch
O seguinte comando
mencoder Videos/Test/VIDEO_TS/VTS_01_1.VOB -oac copy -ovc x264 -x264encopts bitrate=2500 -o output.avi
fiz algumas conversões, mas é (i) usar legendas, embora eu não quisesse usá-las (ii) entendi errado o áudio (áudio e vídeo são terrivelmente extraviados) e (iii) parece ser mais lento do que o filme realmente é (pode levar 2 horas para um filme de 90 minutos).
Eu tentei comandar dado aqui (terceiro post do Xeratul), mas parou com o erro
FATAL: Cannot initialize video driver.
Tentei a sugestão feita abaixo para ver a página do mencoder . Esta página sugere o uso de duas passagens:
o primeiro lê informações sobre o filme, o segundo usa essas informações para codificar.
mas nem são explicadas quais informações extrair nem como usá-las na segunda passagem. Então, eu usei o seguinte comando:
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
que converteu o vídeo, mas com uma legenda indesejada. Não está claro como posso evitar o uso de legendas.
avconv
então para converter arquivos VOB para avi. O comando avconv -i Videos/Test/VIDEO_TS/VTS_01_1.VOB -acodec copy -vcodec copy test.avi
deu um erro 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
tente isso
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
então 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
- tirei isso em parte do Arch doc @ dg99 vinculado.
ffmpeg
está obsoleto desde há muito tempo, você deve usar o seu próprio sucessor:avconv
.