user6108: I've donwloaded some youtube videos that I want to join. I joined them with mkvmerge, but in the joined video, there are ~5 seconds skips (in VLC the second counter stops and then jumps 5 seconds) at the start of each video I joined (even at the start). Is there another way to join them so I won't have this problem?

user3295: Try a video editor like Lightworks to join them into one video, there you can cut any black frames and won't have to deal with possible glitches introduced by muxing different videos into one stream.
If your videos are indeed webm and not h264 you might need transcode them into another codec (f.e. with ffmpeg), a production codec like MJPEG or any lossless codec might be suitable as an intermediate codec so you don't loose much visual quality after exporting your finished video.

user9105: Maybe try a different tool for muxing your files all into one?  Like ffmpeg's concat meta-demuxer.  (the concat filter (-vf concat) doesn't work with -codec copy, but -f concat for the input does.)
https://trac.ffmpeg.org/wiki/Concatenate
Probably your pauses in the concatenated video are from a timestamp glitch in the merged file.  The mkvmerge manual sheds some light on how it does timestamps for the resulting file.
You could check the frame pts values in your merged file with ffplay -vf showinfo (from ffmpeg).  (or ffmpeg -i merged.mkv -vf showinfo -f null - to not show the video.)  If there are big gaps in the pts (presentation timestamp) of frames on the merge boundaries, then that's why the player is pausing.
Using a different tool to concat (like ffmpeg) might solve it.  Or you can do what Prof. Sparkles suggested, but without actually encoding to lossy mjpeg, and then back to lossy h.264.  Tell ffmpeg that the input frames should be considered 24000/1001 fps CFR, and that it should generate new PTS values, ignoring the input timestamps.  (old question, so not digging up the details on how to do it.  check the ffmpeg manual.)

6108: <p>I've donwloaded some youtube videos that I want to join. I joined them with mkvmerge, but in the joined video, there are ~5 seconds skips (in VLC the second counter stops and then jumps 5 seconds) at the start of each video I joined (even at the start). Is there another way to join them so I won't have this problem?</p>
 3295: <p>Try a video editor like <a href="http://www.lwks.com/" rel="nofollow">Lightworks</a> to join them into one video, there you can cut any black frames and won't have to deal with possible glitches introduced by muxing different videos into one stream.</p>

<p>If your videos are indeed webm and not h264 you might need transcode them into another codec (f.e. with ffmpeg), a production codec like MJPEG or any lossless codec might be suitable as an intermediate codec so you don't loose much visual quality after exporting your finished video.</p>
 9105: <p>Maybe try a different tool for muxing your files all into one?  Like ffmpeg's <code>concat</code> meta-demuxer.  (the concat filter (<code>-vf concat</code>) doesn't work with <code>-codec copy</code>, but <code>-f concat</code> for the input does.)</p>

<p><a href="https://trac.ffmpeg.org/wiki/Concatenate" rel="nofollow">https://trac.ffmpeg.org/wiki/Concatenate</a></p>

<p>Probably your pauses in the concatenated video are from a timestamp glitch in the merged file.  The <code>mkvmerge</code> <a href="https://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge.html" rel="nofollow">manual</a> sheds some light on how it does timestamps for the resulting file.</p>

<p>You could check the frame pts values in your merged file with <code>ffplay -vf showinfo</code> (from ffmpeg).  (or <code>ffmpeg -i merged.mkv -vf showinfo -f null -</code> to not show the video.)  If there are big gaps in the pts (presentation timestamp) of frames on the merge boundaries, then that's why the player is pausing.</p>

<p>Using a different tool to concat (like ffmpeg) might solve it.  Or you can do what Prof. Sparkles suggested, but without actually encoding to lossy mjpeg, and then back to lossy h.264.  Tell ffmpeg that the input frames should be considered 24000/1001 fps CFR, and that it should generate new PTS values, ignoring the input timestamps.  (old question, so not digging up the details on how to do it.  check the ffmpeg manual.)</p>
