16

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?

7 Answers 7

26

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
9
  • Valid point, but he wants to clip some parts out.
    – user1931
    Sep 19, 2009 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, 2009 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, 2010 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, 2011 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, 2018 at 22:44
9

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.

1
  • 1
    I tried this but the audio was removed/not present in the resulting clip. Jan 18, 2018 at 3:51
2

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.

1
  • 1
    Avidemux for windows is also quite good, I find it better than VirtualDub.
    – ansgri
    Jun 14, 2013 at 8:00
1

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).

1
  • 1
    Good point... But seriously, a superuser would probably use something more professional :D Jun 29, 2015 at 14:24
1

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

0

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

1
  • 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, 2017 at 9:37
0

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.

1
  • The Technology has changed and improved since 7 years don't you think?
    – yass
    Mar 28, 2017 at 21:15

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .