Qualidade de conversão de VOB no FFmpeg


16

Estou tentando converter um arquivo VOB para MPEG como este:

./ffmpeg.exe -i VTS_01_2.VOB -r 24  out1.mpeg

No entanto, a qualidade é muito ruim.

eu tentei ./ffmpeg.exe -i VTS_01_2.VOB -vcodec copy out1.mpeg

Mas o tamanho do arquivo é muito grande (90% do original - 300 MB para vídeo de 4 minutos) e o Windows Movie Maker continua tentando importá-lo.

Como posso obter um MPEG de qualidade decente do meu VOB?


Respostas:


28
ffmpeg -i input.vob -c:v copy -c:a copy output.mpg  

Este comando não reduz o tamanho ou altera a qualidade. Isso apenas desmotiva o VOB e o reembala como MPEG. Você deve ter exatamente a mesma qualidade. O tamanho muda minimamente devido à perda da sobrecarga do contêiner VOB.

Se você deseja manter a qualidade e reduzir o tamanho, precisará convertê-lo com outro codificador como x264 ou XviD em um contêiner MKV ou MP4, por exemplo:

ffmpeg -i input.vob -c:v libx264 -c:a aac -strict experimental output.mp4

Isso fornecerá vídeo H.264 e áudio AAC. Defina -crf 23a qualidade do vídeo, onde menos significa melhor qualidade (os valores são são de 18 a 28). A qualidade do áudio pode ser alterada com -b:a 192ktaxa de bits fixa ou, se você quiser usar outro codificador, como -c:a libfaac, poderá escolher VBR com -q:a 100(100% de qualidade padrão).


Entendo, esta é uma boa informação para saber. Ainda procurando uma maneira razoável de comprimir e manter a qualidade (4 minutos com qualidade decente devem ser possíveis em 10 a 20 MB, com certeza ... talvez até 50 MB estejam corretos).

11
e se houver outro VOB que faça parte do filme. O ffmpeg sabe incluí-los?
Sun

11
você podecat *.VOB > output.vob
dmgl 15/02

No Windows, se você primeiro precisa mesclar vários VOBs: copy /b "1.vob" + "2.vob" + "3.vob" "temp.vob". Veja também stackoverflow.com/a/29729610
Basj

4

Recentemente, estive fazendo uma codificação VOB depois de copiar alguns DVDs insubstituíveis. Usando o ffmpeg version 1.2.4out of Homebrew no OSX:

ffmpeg -probesize 2G -analyzeduration 2G \
    -i VTS_04.VOB \
    -map 0:0 -map 0:1 -map 0:2 -map 0:9 \
    -metadata:s:a:0 language=eng -metadata:s:a:0 title="English Stereo" \
    -metadata:s:a:1 language=jap -metadata:s:a:1 title="Japanese Stereo" \
    -metadata:s:s:0 language=eng -metadata:s:s:0 title="English"
    -c:v libx264 -filter:v yadif -crf 18 -level 3.1 -tune film \
    -c:a copy \
    -c:s copy \
    OutputMovie.mkv

Eu tive que definir -probesizee, -analyzedurationjá que o arquivo VOB de 5,4 GB tinha fluxos iniciados mais tarde no arquivo, que não são encontrados sem essas opções.

Em seguida, o -mapparâmetro permite que eu escolha quais fluxos passar para a saída - o fluxo de vídeo, os dois primeiros fluxos de áudio e o nono fluxo, que são legendas. Use ffprobe(com -probesize& -analyzedurationpara ver a lista de fluxos).

Adicione um pouco -metadataaos fluxos de áudio e legenda na saída.

Opções de codificação de vídeo depois de -c:vler sobre outros lugares .

Finalmente, copie como estão os fluxos de áudio e legenda para o arquivo de saída. A saída deve estar MKVem ordem para incorporar as legendas e todos os metadados corretamente.

No meu Macbook Air 2011, essa codificação levou cerca de 6 horas e cuspiu um arquivo MKV perfeito de 2,4 GB.


-1

A sintaxe na resposta anterior não funciona no meu Mac OS. Este parecia funcionar bem, com opções ligeiramente diferentes ( -sameqpara corresponder ao quantizador de entrada, -sspara o deslocamento da hora de início e -tpara a duração):

ffmpeg -i VTS_01_1.VOB -sameq -strict experimental -ss 1612 -t 28 test.mpg

3
As respostas são classificadas por voto, não por tempo. Você deve editar sua resposta para deixar claro qual resposta anterior você quer dizer.
Isaac Rabinovitch 16/02

11
Você deve estar usando uma versão antiga, pois a -sameqopção está obsoleta. Nas versões antigas, use -vcodec/ em -acodecvez de -c:v/ -c:a.
mark4o
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.