AfterDawn.com

How to play MKV files


An MKV file is a Matroska file. Matroska is an open source container format. It is an alternative to the popular AVI and MP4 formats and it also surpasses them in many areas. This article exists to help you understand what an MKV file is and how you can play it back perfectly on your PC.



Containers, Codecs and Players


Many people who download a file with the extension MKV will often try to play it back with video player software they have installed on their systems. Most of the time this doesn't work (hence, the reason you are here). While a great selection of players support the playback of Matroska files, often the proper decoders for the streams contained in the files are missing. It is important to understand exactly what Matroska files are.

MKV files contain video and audio streams (may also contain subtitles). The streams are likely compressed and have been produced with an encoder. In order to play these streams a codec is required. Codec, as a word is an abbreviation of Coder / Decoder. The video stream located in the MKV file has been "coded" by the source and now it must be "decoded" by the end user who wishes to play it.

So to summarize, Matroska is a container format file that stores multiple streams (video, audio and subtitles). These streams may require you to install decoding software and filters to playback depending on what player you use. For most MKV files you find, there is a player not based on DirectShow (so you probably won't have to install any extra decoding software or filters) that has support for Matroska files, VideoLan Client (VLC).


The Easiest Method (VLC)


With the VLC player you are actually getting two things; a fine player with support for Matroska, and support for most video and audio streams you will find in an MKV file. This means that you most likely will not have to install any extra codecs or filters, depending on what your streams are.

You can get VLC for Windows from this URL.

Click File and click the Open File option.

Now, click the Browse button next to the first white line at the top of the window with title "Open.." and navigate through your harddrive for the video you wish to watch and select it. After you have selected the video, click OK and VLC will start playing the video you chose.

For other Operating Systems...

Mac: http://www.afterdawn.com/software/alternative_platforms/mac_software/vlc_for_mac.cfm

Linux: http://www.afterdawn.com/software/video_software/video_players/vlc_linux.cfm

Important Note: While VLC will work for most MKV files you will find, the package does not include any proprietary codecs. RealVideo and ON2 VP6 are examples of codecs not packed with VLC for this reason. Therefore with VLC, if you get a Matroska file that contains RealVideo, you are pretty much in the dark and will have to look for another playback option.


MKV on DirectShow based players


Several media players based on DirectShow like Windows Media Player will play back MKV files perfectly if you have the proper codecs and filters installed. A great help here is the Matroska Pack. This pack is an ideal solution for new users as it installs pretty much all you will need to play MKV files.


What to do when you encounter RealVideo


If you installed a Matroska pack but you have found an MKV file that contains RealVideo then it won't playback on DirectShow based players unless you install the official RealPlayer software. Alternatively, if you don't like the RealPlayer software, you can download and install Real Alternative and it will also do the trick.

Get Real Alternative from: http://www.afterdawn.com/software/video_software/video_players/real_alternative.cfm


What about codec packs?


Now, there's one common method that specially people new to digital video tend to use. It can be compared to killing a fly with a sledgehammer or something similar. Its called "codec packs". Basically a codec pack is a collection of the most common decoding drivers (==codecs) in the world and the installation file of a codec pack installs all of these codecs to the user's operating system.

Sure, the way has its benefits -- it is highly likely that virtually all of the downloaded videos will play after installation of such pack. But, there are several downsides to this approach. First one is simply the fact that every Windows user knows -- more software you install to your computer, more unstable and "wobbly" it becomes. Secondly, it is really waste of resources to install codecs that are in reality never needed. Third, it is highly unlikely that all the components packed within such pack are the latest and best versions -- downloading and installing each codec individually would be a better approach if user wants to get all the latest codecs in the world installed to his/her computer. Additionally, as nowadays several codecs actually decode several video formats, when a video is played, it is often impossible for a Joe Average to tell which piece of software does the decoding of the video, making it virtually impossible to find the cause of a problem if a problem appears.

Anyway, as stated, codec packs are a popular option to sort out the codec mess and installing such pack would also allow using your favorite video player software instead of all-in-one solution like VLC.

If you wish to try out a codec pack, here are several popular ones:

K-Lite Codec Pack [full]
XP Codec Pack
Cole2k Media Codec Pack Advanced
X Codec Pack

The use of a codec pack is similar to the use of FFDSHOW mentioned above -- download the codec pack, install it and use your favorite video player software to open the .MKV file and it should play.


Using Media Player Classic


Media Player Classic (MPC) is a must have player if you download a lot of video. Conveniently, MPC also includes support for Matroska with its own DirectShow parser filter. Using MPC, you can use several other features of Matroska, like switching between multiple audio streams easily. However, there is a problem (isn't there always?), the parser is out-dated in the latest version of MPC. For this reason, you are better off disabling the internal matroska parser in Media Player Classic and relying on up to date external software (install Matroska Pack).



Open Media Player Classic and click View --> Options. Select Internal Filters on the left as shown above and disable Matroska under source filters. Install the Matroska Pack now.


Troubleshooting


So you have an MKV file and you just can't get it to play whatever you do? A good start is to use software to determine what Video and Audio codecs are required to play the MKV file. An example of such software is Video Inspector.

Download Video Inspector from: http://www.afterdawn.com/software/video_software/video_tools/videoinspector.cfm

If that still doesn't work there is a very useful tool offered by the Matroska team called MatroskaDiag.

You can get it from: http://www.matroska.org/%7Etoff/MatroskaDiag.exe

That tool will check if you have what you require installed and if you don't, it provides you with links that will help. If you have tried everything and nothing at all will work, you are most likely facing a DirectShow problem. In this case, I would recommend you try VideoLan Client. Installing too many filters can lead to terrible playback issues.


Useful Info


If you want to dive into the world of digital video, but want to first learn even the most common lingo, here are some good links for you:

Glossary definition for matroska
What is a codec?
What does "encoding" mean?
Definition for "container"

AfterDawn.com: Video term glossary

AfterDawn Forums: Playback problems

Additionally, if you prefer to use a solution where you use a separate video player software and a separate set of codecs, you might want to try out different video players as well. We have a good selection of freeware players available on our site, but here are some of our favorite ones that haven't been mentioned yet:


BSPlayer
Zoom Player

Date updated: 15 August 201

Written by: James "Dela" Delahunty
Last updated: 3 July 2012