Introduction to Haali Media Splitter

Just a few years ago the only multimedia containers most Windows users had to worry about were AVI and MPEG-2 Program Streams. Although a number of other proprietary, and even open source containers have been used, for MPEG-2 or MPEG-4 (ASP) video AVI and MPEG-2 PS (.MPEG / .MPG) files have traditionally been the standard. With the development of MPEG-4 AVC (H.264) video the MP4 and MKV containers have been slowly replacing both for a variety of applications.

File Splitters

In order to play a multimedia file, whether it's a DVD movie or XviD encode, requires that the different streams must first be sent to their respective decoders. Special software, called a splitter, is used to separate video, audio, and subtitles for this purpose. This is a separate operation from actually decoding the streams, as you would see if you try to play an MPEG-2 file with Windows Media Player in Windows XP without installing additional software. While Windows XP includes a splitter for the MPEG-2 PS (Program Stream) container, due to licensing costs there's no MPEG-2 video decoder. In the case of MP4 and MKV you won't even get that far because Windows doesn't come with a splitter for those containers.

Haali Media Splitter

If you want to enable programs that use Microsoft's DirectShow (DirectX) framework, which includes almost all commercially produced video software, to open MP4 or MKV files you'll need to install a DirectShow splitter for these formats. That's exactly what Haali Media Splitter provides.


Development of the Matroska container predates both AVC and the MP4 official container for MPEG-4 video. Rather than being designed around a particular application or encoding, Matroska is meant to support any type of video or audio, and be equally useful for storage, editing, and even streaming. Matroska was something of a fringe container until AVC and the limitations of many MP4 implementations forced many hobbyists to search for a solution to combining (muxing) AVC video with AC-3 (Dolby Digital) audio. Recently it's become popular for both DTV captures and DVDs encoded to AVC since the original (AC-3) audio can be kept.


MP4 is the official container for MPEG-4 video, as specified in MPEG-4 Part 14. Since the standard was published after both MPEG-4 ASP (Part 2) and MPEG-4 AVC (Part 10), it hasn't achieved the status of preferred container in the same way the MPEG-2 Program Stream did years ago. MPEG-4 video may be found in containers ranging from the ancient Microsoft AVI3 to MPEG-2 Transport Streams4, and even Apple's Quicktime (MOV) container, on which MP4 was originally based.

Despite this, MP4 has slowly gained support among both hobbyists and hardware (DVD player) vendors. It's primarily looked at as a replacement for the AVI container, which was once the standard container for MPEG-4 video, but really isn't well suited to any type of MPEG video. It shares many features with the MPEG-2 PS container, although updated for MPEG-4 standards. It may be used for either MPEG-4 ASP (DivX, XviD, 3IVX, etc,...) video.

Audio Support in MP4

Although any type of audio that's officially supported in MP4 is AAC5, it also supports Private Streams, meaning formats like AC-3 which are also considered Private Streams in MPEG-2 applications like DVD-Video. Despite this, the lack of a common consumer application combining MPEG-4 video with AC-3 audio (like DVD for MPEG-2 with AC-3) has resulted in little support for the combination in most software and hardware6.

Required Software

Haali Media Splitter

Haali Media Splitter is a DirectShow splitter for .MKV (matroska) .MP4 and .AVI

Optional Software


MKVToolnix is a set of tools to create, alter and inspect Matroska files. With these tools one can get information about (mkvinfo) Matroska files, extract tracks/data from (mkvextract) Matroska files and create (mkvmerge) Matroska files from other media files.


ffdshow is a DirectShow decoding filter for decompressing several video formats, including DivX, XviD, WMV, MPEG-1 and MPEG-2 movies. Playback of MP4 and MKV files still requires that suitable video and audio decoders be available, and ffdshow generally does an excellent job.

Next: Installation and Configuration


Matroska's MKV "universal" Container is described by its developers as "the extensible open standard Audio/Video Container." This translates to a multimedia Container designed to support practically any type of video or audio stream you might care to use. MKV stands for Matroska Video. The project itself is simply called Matroska... (Read More)


MP4 is the official multimedia container for MPEG-4 video and audio. Although such video can be stored in a number of modern containers, including MPEG-2 PS/TS and Matroska... (Read More)


AVI, which stands for Audio Video Interleave, is a Container format used by Microsoft's Video for Windows multimedia framework. Since it was developed for Windows 3.1 in 1992 it lacks some features found in newer containers like MPEG or MP4, but is still widely used by consumers.... (Read More)

4MPEG-2 Transport Stream

A MPEG-2 Transport Stream, also referred to as MPEG or MPEG-2 TS or simply TS, is a special format for transmitting MPEG video (MPEG-1, MPEG-2, or MPEG-4) muxed with other streams. It's commonly used for digital television and Streaming across networks, including the internet.... (Read More)


Advanced Audio Coding, or AAC, is a MPEG (Motion Pictures Experts Group) audio standard first adopted as part of the MPEG-2 family of standards. Like its predecessor, MP3, AAC is a Lossy Compression format capable of delivering relatively high quality at relatively low bitrates. There are actually two AAC specifications.... (Read More)

6MP4 and AC-3

At this time, on 16 March 2008, the only major vendor supporting AC-3 audio in an MP4 container is Nero Digital. However, since Nero's DirectShow filters can't be used outside their own applications, this isn't particularly helpful if you're not using Nero.

Table of Contents

  1. 1. Introduction
  2. 2. Installation
Written by: Rich Fiscus