I'd like to merge the VOB's of a DVD into a single VOB file.

What command-line tool is recommended under Linux?


Assuming you only care about the vobs and not anything else on the dvd, you can simply cat them together:

cat *.vob > big.vob

will work just fine.

  • 2
    Didn't know this worked, wow. If you're impatient and want to see progress, you could use: cat *.VOB | pv | dd of=big.vob – SickAnimations Nov 24 '13 at 13:59

The problem with simply concatenating VOB files is that the resulting VOB does not display the correct playback time or location in most media players as described here and here:

Typical problems are: timing issues, not being able to show the progress properly, no way to skip forward, crashes, missing audio, audio off sync, only showing the first 5 seconds of the video etc.

However, you can losslessly copy and merge the VOBs into a single MPG (since VOBs contain MPGs) which won't have the playback issues via ffmpeg; e.g.,

ffmpeg -i 'concat:VTS_01_1.VOB|VTS_01_2.VOB|VTS_01_3.VOB|VTS_01_4.VOB|VTS_01_5.VOB|VTS_01_6.VOB|VTS_01_7.VOB' -acodec copy -vcodec copy combined.mpg

How about that :

pv *.vob > big.vob
  • If you read the first sentence of the pv man page, you are right, pv is usually used between pipes. But if you read the 3rd and 4th, it says it can also be used like "cat" : "pv will copy each supplied FILE in turn to standard output (- means standard input), or if no FILEs are specified just standard input is copied. This is the same behaviour as cat(1)." Try and you will see it works :-) – SebMa Apr 9 '16 at 21:06
  • I agree, but the other usage (like "cat") also works. Please, try it. – SebMa Apr 9 '16 at 21:10
  • I do and here is result : pv *.aac > toto 94,2MiB 0:00:00 [ 530MiB/s] [======================================>] 100% – SebMa Apr 9 '16 at 21:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.