How can I join multiple .mpg movie files?

mpg files are the easiest to join. You can actually copy them together. In Windows you use

copy/b file1.mpg+file2.mpg+file3.mpg newfile.mpg

In Linux, I use cat:

cat file1.mpg file2.mpg file3.mpg >> newfile.mpg

Recent versions of ffmpeg can do this via its concat demuxer, which should be more reliable than using cat or copy. First, create a file called inputs.txt, containing

file /path/to/input1.mpg
file /path/to/input2.mpg
file /path/to/input3.mpg

Then use the following ffmpeg command:

ffmpeg -f concat -i inputs.txt -c copy output.mpg

See here for more information.


For Linux Avidemux is quite good:

  • http://fixounet.free.fr/avidemux/

For Windows there is

  • http://www.virtualdub.org/

There are also more low level tools that work directly on the MPEG stream such as:

  • http://mpgtx.sourceforge.net/

Those might be good for lossless cutting, but give much less freedom.