I don't know if this is the correct exchange site to ask this question. I would like to know what is the difference between mkv and mp4 files?
Both MKV and MP4 are container file formats. Container formats define how actual audio, video, subtitle and other data are structured. MKV is an open standard format, while MP4 comes from the ISO and is based on the QuickTime file format.
One thing I have found with video creating/playing software on GNU/Linux is that the MP4 container format can only be replayed once a video is finished while mkv (Matroska) containers will replay even on partially completed files. So at least when using the common Free Software toolchains on GNU/Linux, mkv appears better suited for streaming.
You can use the same codecs either way. WEBM is a subset of Matroska with a restricted list of permissible codecs.
I would like to add that MP4 has restrictions of what can be muxed to MP4 and what not, while MKV has nearly no limitations at all.