How to play wmv format on linux alias Video Codec: Unavailable ( MSS2 )

Recently I have tried to open a wmv file ( Microsoft ASF ) using vlc. vlc failed to open video stream so I tried couple more linux based video players in hope that I will get more lucky with mplayer, mencoder ( convert only ) or xine ( error messages are attached at the end of this document ).

There are four major different types of wmv file format.
wmv 1 format: is supported by all video players except kaboodle which does not support wmv format at all.
wmv 2 format: is supported by all video players except players based on xine-lib
wmv 3 format: is supported by all players except totem-gstreamer and, when not using w32codecs, players based on xine-lib
mss2 format: can be played by MPlayer ( kmplayer ) with w32codecs installed

wmv1 and wmv2 format is played on linux os without any problems where no extra packages except main player packages and it’s prerequisites does not need to be installed.

vmw3 format is played will all major linux video players with use of w32codecs packages.

And finally mss2 format can be played only on mplayer ( kmplayer ) with use of w32codecs.

Install w32codecs

w32codecs is only available in some countries and only for i386. Here is how to install w32codecs on debian. This package is available on debian-multimedia repository.
The first package you need to install is debian-multimedia-keyring.

# wget http://www.debian-multimedia.org/pool/main/d/
debian-multimedia-keyring/debian-multimedia-keyring_2008.10.16_all.deb
# dpkg -i debian-multimedia-keyring_2008.10.16_all.deb

add following source to your /etc/apt/sources.list

deb http://www.debian-multimedia.org lenny main non-free

# apt-get update
# apt-get install w32codecs

install mplayer

# apt-get install mplayer

Xine error message

Video Codec: Unavailable ( MSS2 )

vlc error message

Vlc did not display any error message but it also do\id not display any video.

menucoder error message

Opening video decoder: [dmo] DMO video codecs
Win32 LoadLibrary failed to load: wmsdmod.dll, /usr/lib/codecs/wmsdmod.dll,
/usr/lib/win32/wmsdmod.dll, /usr/local/lib/win32/wmsdmod.dll
IMediaObject ERROR: 0x86ac1dd could not open DMO DLL (0x0 : 0)
Failed to create DMO filter
ERROR: Could not open required DirectShow codec wmsdmod.dll.
You need to upgrade/install the binary codecs package.
Go to http://www.mplayerhq.hu/dload.html

mplayer error message

Opening audio decoder: [dmo] Win32/DMO decoders
Win32 LoadLibrary failed to load: wmspdmod.dll, /usr/lib/codecs/wmspdmod.dll,
/usr/lib/win32/wmspdmod.dll, /usr/local/lib/win32/wmspdmod.dll
IMediaObject ERROR: 0x878e0ad could not open DMO DLL (0x0 : 0)
ERROR: Could not open required DirectShow codec wmspdmod.dll.
ADecoder preinit failed :(
ADecoder init failed :(
Opening audio decoder: [dshow] Win32/DirectShow decoders
Win32 LoadLibrary failed to load: wmavds32.ax, /usr/lib/codecs/wmavds32.ax,
/usr/lib/win32/wmavds32.ax, /usr/local/lib/win32/wmavds32.ax
Warning: DS_Filter() could not open DirectShow DLL. (DLL=wmavds32.ax)
ERROR: Could not open required DirectShow codec wmavds32.ax.