Calidad de conversión VOB en FFmpeg

16

Estoy tratando de convertir un archivo VOB a MPEG como este:

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

Sin embargo, la calidad es muy pobre.

Lo intenté ./ffmpeg.exe -i VTS_01_2.VOB -vcodec copy out1.mpeg

Pero el tamaño del archivo es demasiado grande (90% del original - 300 MB para video de 4 minutos), y Windows Movie Maker se cuelga al tratar de importarlo.

¿Cómo puedo obtener una calidad MPEG decente de mi VOB?

slhck
fuente
Vea los consejos en este hilo: convierta .vobs descifrados a .avi con ffmpeg en ubuntu
harrymc

Respuestas:

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

Este comando no reduce el tamaño ni altera la calidad. Esto simplemente elimina el VOB y lo vuelve a empaquetar como un MPEG. Debe quedar exactamente con la misma calidad. El tamaño cambia mínimamente debido a la pérdida de la sobrecarga del contenedor VOB.

Si desea mantener la calidad y reducir el tamaño, tendrá que convertirlo con otro codificador como x264 o XviD a un contenedor MKV o MP4, por ejemplo:

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

Esto le dará video H.264 y audio AAC. Establecido -crf 23para la calidad de video, donde menos significa mejor calidad (los valores razonables son de 18 a 28). La calidad de audio se puede cambiar con -b:a 192kuna tasa de bits fija, o si desea usar otro codificador como -c:a libfaac, puede elegir VBR con -q:a 100(100% de calidad predeterminada).

Stanley Williams
fuente
Ya veo, esta es una buena información para saber. Todavía estoy buscando alguna forma razonable de comprimir y mantener la calidad (4 minutos a una calidad decente debería ser posible en 10-20 MB con seguridad ... tal vez incluso 50 MB está bien).
1
¿Qué pasa si hay otro VOB que es parte de la película? ¿Ffmpeg sabe incluirlos?
Dom
1
puedescat *.VOB > output.vob
dmgl
En Windows, si primero tiene que combinar múltiples VOBs: copy /b "1.vob" + "2.vob" + "3.vob" "temp.vob". Ver también stackoverflow.com/a/29729610
Basj el
4

Recientemente he estado haciendo algo de codificación VOB después de extraer un par de DVDs irremplazables. Usando la ffmpeg version 1.2.4salida de Homebrew en 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

Tuve que configurar -probesizey -analyzedurationya que el archivo VOB de 5.4GB tenía secuencias que comienzan más tarde en el archivo que no se encuentran sin estas opciones.

Luego, el -mapparámetro me permite elegir qué transmisiones pasar a la salida: la transmisión de video, las dos primeras transmisiones de audio y la novena transmisión, que son subtítulos. Use ffprobe(con -probesize& -analyzedurationpara ver la lista de transmisiones).

Agregue algunos -metadataa las secuencias de audio y subtítulos en la salida.

Opciones de codificación de video después de -c:vque pueda leer sobre otro lugar .

Finalmente copie como está las secuencias de audio y subtítulos en el archivo de salida. La salida debe ser MKVpara incrustar los subtítulos y todos los metadatos correctamente.

En mi Macbook Air 2011, esta codificación tardó aproximadamente 6 horas y escupió un archivo MKV perfecto de 2.4GB.

mafrosis
fuente
-1

La sintaxis en la respuesta anterior no funciona en mi Mac OS. Este parecía funcionar bien, con opciones ligeramente diferentes ( -sameqpara que coincida con el cuantificador de entrada, -sspara el desplazamiento del tiempo de inicio y -tpara la duración):

ffmpeg -i VTS_01_1.VOB -sameq -strict experimental -ss 1612 -t 28 test.mpg
Jeff
fuente
3
Las respuestas se ordenan por voto, no por tiempo. Debe editar su respuesta para dejar en claro a qué respuesta anterior se refiere.
Isaac Rabinovitch
1
Debe estar utilizando una versión anterior, ya que la -sameqopción es obsoleta. En versiones anteriores usa -vcodec/ en -acodeclugar de -c:v/ -c:a.
mark4o