2011-11-23 8 views
21

Soy nuevo en FFMpeg, así que esta puede ser una pregunta tonta, pero no veo la respuesta en la documentación.FFMpeg abre una cadena DVD VOB?

Quiero decodificar marcos de un archivo vob de DVD. Abrir el primer VOB en el grupo funciona bien, pero ¿cómo le digo a ffmpeg que continúe con el siguiente VOB y lea todos los VOB en un DVD?

Tengo los archivos VOB en una carpeta en un disco duro.

Respuesta

15

El formato VOB es un subconjunto de mpeg, por lo que debería ser capaz de combinar los VOB que desea leer de la misma forma que lo haría con datos: concatenándolos juntos.

cat first.VOB second.VOB third.VOB | ffmpeg -i - outfile.mp4 

de elevación Matt Gallagher's comment para aumentar la longevidad/visibilidad:

versiones más recientes de la concatenación de apoyo ffmpeg como un operador en el archivo de entrada. Lo que podría utilizar ... ffmpeg -i concat:VTS_01_0.VOB\|VTS_01_1.VOB\|VTS_01_2.VOB outfile.mp4

+0

¿No es eso lo que copia primero los vobs a un nuevo archivo combinado? (lo cual tomaría varios minutos para un DVD) – Sugrue

+3

No. La salida concatenada de 'cat' se canaliza directamente a' ffmpeg' leyendo de stdin. Eso es lo que indica '-i -'. No debería haber diferencia en la velocidad. – blahdiblah

+9

Las versiones más recientes de ffmpeg admiten la concatenación como operador en el archivo de entrada. Entonces podría usar ... ffmpeg -i concat: VTS_01_0.VOB \ | VTS_01_1.VOB \ | VTS_01_2.VOB archivo_exp.mp4 –

3

El construyeron -en la funcionalidad de concatenación parece estar * basado en NIX y no funcionó en Windows para mí. En Windows VobMerge parecía funcionar para unir los archivos VOB relevantes (que para la película principal en un DVD parecía ser el conjunto que comenzaba en 1 GB de tamaño).

Adenda

Usted también puede unirse a los archivos VOB en Windows directly from the command line:

copy /b "vob1.vob" + "vob2.vob" + "vob3.vob" "voboutput.vob" 

se pueden omitir las comillas si hay espacios en los nombres de archivo, pero asegúrese de recordar la /b y todos los signos +.

0

de ventanas I prefirieron concatenación "refactor", y también a no confiar en los nombres de archivos predefinidos:

copy /b e:\VIDEO_TS\vts*.vob temp.vob 
ffmpeg -i temp.vob .... newfile.ogg 

/b Medios: copia binaria; de lo contrario, las nuevas líneas se tratan de manera diferente.

Advertencias:

  • a veces hay archivos VOB que no son parte de la película, y no pude encontrar una forma automatizada para detectar qué es lo que
  • en sistemas lentos de E/S esto agrega una gran cantidad de tiempo: lleva tiempo escribir y leer el archivo temporal.