Qualidade de conversão de VOB no FFmpeg

15

Estou tentando converter um arquivo VOB para o MPEG assim:

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

No entanto, a qualidade é muito fraca.

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 trava ao tentar importá-lo.

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

    
por slhck 14.01.2011 / 19:29

3 respostas

26

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

Este comando não reduz o tamanho nem altera a qualidade. Isso apenas desmembra o VOB e o reposiciona como um MPEG. Você deve ficar com exatamente a mesma qualidade. O tamanho muda minimamente devido à perda da sobrecarga do contêiner VOB.

Se você quiser manter a qualidade e reduzir o tamanho, terá que 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 lhe dará vídeo H.264 e áudio AAC. Defina -crf 23 para a qualidade do vídeo, em que menos significa melhor qualidade (os valores da sane são de 18 a 28). A qualidade do áudio pode ser alterada com -b:a 192k para taxa de bits fixa, ou se você quiser usar outro codificador como -c:a libfaac , você pode escolher VBR com -q:a 100 (qualidade padrão 100%).

    
por 14.01.2011 / 19:53
3

Recentemente, tenho feito algumas codificações VOB depois de ripar alguns DVDs insubstituíveis. Usando o ffmpeg version 1.2.4 do 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

Tive que definir -probesize e -analyzeduration , pois o arquivo VOB de 5,4 GB tinha fluxos começando posteriormente no arquivo, que não são encontrados sem essas opções.

Em seguida, o parâmetro -map me permite escolher quais fluxos transmitir 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 & -analyzeduration para ver a lista de fluxos).

Adicione alguns -metadata aos fluxos de áudio e legenda na saída.

Opções de codificação de vídeo após -c:v você pode ler sobre outro lugar .

Por fim, copie como estão os fluxos de áudio e legenda para o arquivo de saída. A saída deve ser MKV 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.

    
por 01.02.2014 / 22:08
-1

A sintaxe na resposta anterior não funciona no meu Mac OS. Este parecia funcionar bem, com opções ligeiramente diferentes ( -sameq para corresponder ao quantizador de entrada, -ss para o deslocamento inicial e -t para a duração):

ffmpeg -i VTS_01_1.VOB -sameq -strict experimental -ss 1612 -t 28 test.mpg
    
por 16.02.2013 / 08:17