I create a lot of these small clips on my digital camera. These are in .mpg format and before I share them with others, I would love to just join, clip a few seconds here and there.

I use Google Picassa to create new start and end points, but I dont know a good way to join mpgs yet.

Whats the best free software i can use for this?


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
| improve this answer | |
  • Valid point, but he wants to clip some parts out. – John T Sep 19 '09 at 4:47
  • 1
    Thanks, this worked great. I can still use Picassa to clip the parts and then use the copy command to join multiple clips. – Kapsh Sep 25 '09 at 14:44
  • 1
    I tried doing this, and it claimed the copy was successful, but the video only lasts as long as the last video's length, even though it appears to start at the first video copied. Why is this, and what can I do to fix it? – nhinkle Nov 5 '10 at 3:54
  • And it's a pity this doesn't work with .mp4 (being a container format) - you get a file as large as it needs to be, but that only plays the first file – PandaWood Feb 1 '11 at 22:26
  • 1
    Worked for me with a 4-parter. The time stamp of the final version is messed up, but it plays through just fine. – FreeMan Jul 24 '18 at 22:44

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.

| improve this answer | |
  • 1
    I tried this but the audio was removed/not present in the resulting clip. – Peter Mitrano Jan 18 '18 at 3:51

For Linux Avidemux is quite good:

For Windows there is

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

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

| improve this answer | |
  • 1
    Avidemux for windows is also quite good, I find it better than VirtualDub. – ansgri Jun 14 '13 at 8:00

How about Windows Movie Maker or Windows Live Movie Maker? (depending on your version of windows, which it seems you are using by your other questions).

| improve this answer | |
  • 1
    Good point... But seriously, a superuser would probably use something more professional :D – Julian F. Weinert Jun 29 '15 at 14:24

Join/encode/convert to your heart's content with MediaCoder.

| improve this answer | |

I have used copy/b & that joins the files OK but it does something to the header that messes with the time code. But then I ran the entire file through XMedia Recode using just video copy (not convert) & audio copy with the same extension & that seemed to straighten it out: http://forum.videohelp.com/threads/375401-How-to-cut-any-video-with-Xmedia-Recode

| improve this answer | |
  • Please quote the essential parts of the answer from the reference link(s), as the answer can become invalid if the linked page(s) change. – DavidPostill Jan 26 '17 at 9:37

If you simply copy them together using the command line as suggested above, the duration will not be reported correctly in your media player, but it still may work. Don't trust the duration reported by your player - check manually.

When ripping and combining videos from DVD, If I rip without re-encoding, I get mpg files which I can combine with the copy command, and then even though VLC doesn't report the duration correctly, Handbrake "sees" the correct duration, and the final re-encoded mp4 files play correctly and display the correct duration.

| improve this answer | |
  • The Technology has changed and improved since 7 years don't you think? – yass Mar 28 '17 at 21:15

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.