Playing Those Damn
Videos on a Mac - OS X
WARNING
This is a guide written by someone who has never actually used any of
these programs (I don't own a Mac nor have I used one for years) - it
has been constructed out of second-hand knowledge and only exists here
until someone with actual experience with Macs can write a real guide
to doing this stuff (hint hint). I had actually received some feedback
and corrections, for which I am very grateful.
This guide is split into two parts, the first is a demystifying and
demythologising section that should hopefully give you an insight into
the concerns of playing different formats.
If you are lazy and just want to see how to play the damn videos you
should skip to part two.
Contents
Part One:
Part
Two
Credits
PART ONE
Why do we need so
many different video players?
In the world of distributable video there are many people who want to
make money from their format. To try and maximise this they make their
video format proprietary
so that they can try and create monopolies by having a world leading
distribution format and a dedicated player to go with it. This is of no
use to you, the player of videos, as all you want to do is open
up the player of your choice and watch the video you have downloaded.
Although it may be frustrating it can actually make life easier for the
end user. You see, you know that if you have a mov you will play it in
Quicktime and if you have a WMV you will play it in Windows Media
Player. However, this creates a false understanding of the actual
nature of video codecs - the only reason one would associate a
particular format with a particular player is because that is what the
creators of the format and player want.
"Macs can't play
AVIs" and other fables
The standard video container on a Mac is the MOV container. In this
container all sorts of video and audio streams can be stored, most of
which (like Sorenson etc.) were licensed by apple in order to try and
gain a certain level of exclusivity for their container format, urging
people to use Macs for video editing and to use Quicktime for playback.
However, this is just the format that Apple prefers - because it's
theirs. Recently Apple have also supported the MP4 container because
the MOV format was used by the Motion Pictures Expert Group to create
the MP4 format. Apple didn't invent MP4 but they do want to associate
this up-and-coming format with Macs and Quicktime.
However, these are just containers - containers that Apple have had a
part in developing. A container is simply the thing you store the video
and audio streams in. AVI is also a container, one developed by
Microsoft almost 10 years ago, and just like MOV you can store many
video and audio streams within. Playing the container and playing the
streams are two different things.
See, Apple made sure that they had almost total control over what goes
into an MOV so that if you gave someone an MOV file they could open up
Quicktime and play it 99% of the time. Microsoft did not do this with
AVI (perhaps they did not have the foresight) and Windows allowed
people to come up with all sorts of Codecs (COmpressor/DECompressors)
that could be used for streams within the AVI container. This is a very
different philosophy to Apple because rather than associating the
container with a prescribed set of codecs that would be played by a
particular piece of software like Quicktime, windows avi files could be
played on all kinds of movie players (even ones you can happily write
yourself) provided the correct codec was installed.
So, the net result of this is that it's not just about whether the Mac
can play the AVI or not, it's whether there is any Mac software to
support the codec within the AVI file too. Unlike MOV, there
isn't a dedicated player that has all the codecs ready - hence why you
need to install Divx for Mac in order to play some avi files in
Quicktime. The freedom of the AVI container has essentially caused
confusion for the end user who are used to Container = Codec =
Particular Player.
Microsoft finally caught onto the monopoly potential of having a
leading format which would be associated with a particular player and
thus Windows Media Video was born to try and capture the Internet
distribution market (having lost the early years of the desktop video
market to Apple). Unfortunately for Microsoft, industry support for its
codec has been lukewarm in comparison to the support of the ISO
specifications MPEG-1. MPEG-2 (used on DVDs) and now MPEG-4.
MP4 Issues
MPEG-4 is an industry specification developed by the Motion Pictures
Expert Group. Companies developing video technologies use this spec to
create their own codecs that match this specification. Think of the
MPEG4 spec being a description of what ingredients can go into a cherry
pie and all the companies using those ingredients in different ways to
make the best cherry pie.
DivX Networks is one company trying to make a good MPEG4 cherry pie,
XviD is an Open Source development doing the same, and so on.
The MPEG4 spec also defines a container - the MP4 container. This can
be used to store video, audio, subtitles, chapters and all kinds of
other things. The preferred video stream is of course mpeg4 video and
the preferred audio stream is AAC (although plenty of others can work
too).
When Apple released Quicktime 6 it heralded "MP4" encoding and
decoding. However, the extent of Apple's mpeg4 implementation (at the
moment) is pretty limited in scope. See, while Quicktime support MP4,
the video and audio streams are quite simple versions of the mpeg4
video and audio spec. It's a bog standard cherry pie. This can be
understood by looking at the mpeg4 profiles:
Simple Profile - this is what Quicktime 6 can create.
Advanced Simple Profile (ASP) - DivX, XviD and so on
Advanced Video Coding (AVC) - h.246 codecs, the future (Nero Digital,
x264 etc)
So, even though DivX can be put into an MP4 container (using a variety
of software), it cannot be decoded by Quicktime because Quicktime only
uses the Simple Profile and doesn't support many of the more advanced
features in DivX or XviD. This is bound to cause much confusion in the
future when the mp4 format becomes de-facto because until now Quicktime
has had full playback capability. So either Quicktime will need a
serious update (we shall see how well it manages this with Quicktime 7)
or Mac users will start having to look elsewhere to play mp4 files.
The Solution to
Proprietary
To try and combat this container = codec = player ethos, the open
source community have been busily working on players that will try and
support everything! While Apple and Microsoft refuse to support
competing codecs out of the box the open source community are trying to
do just that thanks to the FFMpeg project and the various players which
use this as the foundation for a multi-format, multi-codec player.
Unfortunately, because certain formats (WMV, Real etc.) are
closed-source there are limitations but it's a good start and no longer
does a Mac user have to think in terms of "container x has to be played
with player y".
PART
TWO
Playing
.mov files
This should be a no-brainer. Use Quicktime :)
Playing
.avi files
As discussed earlier, .avi files can contain as many different
varieties of audio and video streams as you can probably think of. So,
in order to play avi files you can either
Option 1) Find out what codecs are used and
see if there is a Mac installer to offer support for these in Quicktime
Option 2) Use a player that has in-built decoding of
many common avi codecs and hope that it can handle the ones in this
particular .avi file.
This situation is slightly simplified by the fact that the majority of
the .avi files you will download will be encoded with DivX video (or
something very similar) and MP3 audio. If you are going with Option
1
then installing the Mac
version of DivX will allow you to play these files in Quicktime most
of the time. Just download the regular version, you wont need
the Pro version for playback. This is a pretty good option for most Mac
users. However, even with this installed, Quicktime can still choke on
some divx avi files - mostly with audio issues. Some mp3 audio streams
in .avi files can still cause problems with Quicktime. If you have these
problems, the 3ivx
decoder for the Mac (another mpeg4 codec) can apparently help with
the audio side of things. They also offer a program called Divx Doctor II which can help with
the more troublesome avi files.
Installing the divx codec is fine but it is not the most complete of
solutions - there are more video codecs out there than divx. Option
2 involves downloading a dedicated player of
which
you have two options that are very similar - MPlayerOSX or VLC
These two players are both based on the open source FFmpeg project
which means that their codec capabilities are essentially identical so
exactly which player you choose can often be a matter of preference
rather than their ability to play the files. My advice is to download
both, give them a try and see what you think - mplayerosx does have
better post-processing (deblocking and deringing) than VLC, which is a
nice benefit. They do have codec limitations (see the list for vlc here) but for the
most part they are very competent at decoding the majority of codecs
designed to be distributed in avi containers. They also have support
for .ogm .mkv and mp4. The more advanced mpeg4 video decoding
capabilities of these players make them potentially superior to
Quicktime for mp4 playback (as they support mpeg4 ASP, see above).
Playing
.wmv and .asf files
Unfortunately, for the moment, there is only one option for this.
Download and use Microsoft's Windows
Media Player for Mac. Although MPlayerOSX and VLC could be programmed to
decode Windows Media Video 7, 8 and 9 content they only support free
GPL decoders and WMV is a proprietary format. So for now, Windows Media
Player is the only option for modern wmv content.
Playing
.rm and .rmvb files
To play Real Video content on a Mac one has to install Real Player 10
for Mac. Here is a direct
link to the free player download (which can be quite hard to find
on the main website).
Thankfully I've been informed that the Mac version of realplayer is not
nearly as invasive as the Windows version. However, I have also heard
it's not all that good either - so make sure you only register Real
Video file types when installing because it's all that the program is
good for
Playing
.mp4 files
While currently it may seem very easy to play mp4 files on a Mac thanks
to Quicktime 6's well-hailed support for the format, this may change in
the future. Quicktime is capable of decoding Simple Profile mpeg4 video
content and hence cannot decode mp4 files created using an Advanced
Simple Profile mp4 encoder. If you find any mp4 files that cannot be
played with Quicktime 6 then please use MPlayerOSX or VLC as they both support mp4
playback and can decode more advanced video content.
Playing
.ogm and .mkv files
These two containers are probably a bit of a mystery to most regular
users. Unlike .mov, .rm and .wmv they are not associated with a
particular player. The reason for this is that, like .avi, Ogg Media
and Matroska are containers for video and audio streams. As containers
they have all kinds of features - the Ogg Media container was developed
to find a suitable container for using the very popular ogg audio
format with video streams (something that .avi will never be able to
fully support). The mkv format was developed from scratch to try and
accommodate many advanced features and more video and audio formats
than any other container to date.
To play files with these containers you will need to use MPlayerOSX or VLC which both support these
containers. It is possible, however, that you may find it difficult to
decode *some* .mkvs with these players because Matroska can actually be
used for storing closed proprietary codecs like Real Video.
Playing
.vp6 and .vp7 files
The codecs and file format vp6 and vp7 are what On2 Technologies are
hailing as the worlds greatest video codecs. This is basically hype -
it's a good codec but there are better things out there.
Unfortunately for Mac users, this codec has zero Mac support and is
entirely windows based at the momet. On2 technologies aren't willing to
make
their decoding source available to the open source community so there's
not much hope of seeing good vp6/7 support in MPlayerOSX or VLC any
time soon.
Credits
Thanks to all those who have offered feedback on this guide. As with
all technologies, things are constantly changing so if any of this
information becomes out of date be sure to let me know. Likewise as we
are all human any corrections, problems, comments, additions or
whatever are appreciated so please email them to me: ian at
absolutedestiny dot org.
AbsoluteDestiny - March 2005
|