convierta .vobs descifrados a .avi con ffmpeg en ubuntu

convierta .vobs descifrados a .avi con ffmpeg en ubuntu

Tengo un archivo .vob que fue extraído de un DVD, cuando miro el .vob tiene video de muy buena calidad y audio en inglés 5.1, pero cuando uso ffmpeg tiene video basura y audio mono en francés.

Eso fue usando este comando:

ffmpeg -i /samba/ripping/vobs/12161840#2.vob -f avi /samba/ripping/avis/test.avi

Probé algunas variaciones diferentes, pero nunca obtengo nada bueno, solo archivos más grandes con video deficiente y sonido incorrecto.

Sé que los videos son buenos y existen las transmisiones de audio correctas. Entonces, ¿cómo selecciono una pista 5.1 y obtengo un buen video?

ffmpeg proporciona los detalles de .vob como:

Input #0, mpeg, from '/samba/ripping/vobs/12161840#2.vob':
   Duration: 00:42:05.56, start: 0.287267, bitrate: 5738 kb/s
    Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x576 [PAR 64:45 DAR 16:9], 8436 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0.1[0x80]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
    Stream #0.2[0x81]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
    Stream #0.3[0x82]: Audio: ac3, 48000 Hz, mono, s16, 192 kb/s
Output #0, avi, to '/samba/ripping/avis/test.avi':
  Metadata:
    ISFT            : Lavf52.64.2
    Stream #0.0: Video: mpeg4, yuv420p, 720x576 [PAR 64:45 DAR 16:9], q=2-31, 200 kb/s, 25 tbn, 25 tbc
    Stream #0.1: Audio: mp2, 48000 Hz, mono, s16, 64 kb/s
Stream mapping:
   Stream #0.0 -> #0.0
   Stream #0.3 -> #0.1

Respuesta1

Las opciones de codificación predeterminadas son bajas; la tasa de bits de audio es de 64k, por ejemplo. Puede aumentar estos valores con opciones de línea de comando adicionales:

ffmpeg -i sourcefile.vob -ab 128kb -qscale 4 newfile.avi

-ab 128kbestablece la tasa de bits de audio promedio en 128 kb y -qscale 3establece la escala del cuantificador de video, donde q es 1 (mejor) o 31 (peor) calidad.

A modo de comparación, para un vídeo de 5 minutos con resolución de 700x576 y audio de 128 kb:

  • q 10 = ~40MB
  • q 4 = ~80 MB

Dando un paso más, puedes convertir por lotes un montón de vob en un directorio con este comando bash:

for f in *.vob; do ffmpeg -i "$f" -ab 128kb -qscale 4 "${f%%.vob}.avi"; done;

Incluimos $f entre comillas en caso de que haya espacios en los nombres de los archivos, y ${f%%.vob} elimina la extensión vob antes de agregar nuestra propia extensión avi. (Esta es la sustitución de parámetros en bash, ¡muy útil!http://tldp.org/LDP/abs/html/parameter-substitution.html)

Hay muchas más opciones que puedes leer en:http://www.ffmpeg.org/ffmpeg-doc.html

información relacionada