Compiling VLC
Instructions for compiling VLC with VC-1 (WMV9) support under Ubuntu Breezy
Install dependencies available from the Ubuntu repositories (main and universe)
$ sudo apt-get install libwxgtk2.6-dev libdvbpsi3-dev libmpeg2-4-dev libmad0-dev libasound2-dev libesd0-dev x11proto-video-dev libdvdnav-dev liba52-0.7.4-dev libflac-dev libfreetype6-dev libid3tag0-dev libogg-dev libpng12-dev libspeex-dev libtheora-dev libvorbis-dev libxml2-dev zlib1g-dev gcc g++ automake1.9 autoconf libtool subversion cvs libx11-dev
Install libdvdcss (DVD support)
$ mkdir ~/videolan ; cd ~/videolan
$ wget http://downloads.videolan.org/pub/videolan/vlc/0.8.2/contrib/libdvdcss-1.2.8.tar.bz2
$ tar -jxvf libdvdcss-1.2.8.tar.bz2 ; cd libdvdcss-1.2.8
$ ./configure --prefix=/usr ; make ; sudo make install
Compile faad2 (AAC support)
$ cd ~/videolan ; wget http://downloads.videolan.org/pub/videolan/vlc/0.8.2/contrib/faad2-20040923.tar.bz2
$ tar -jxvf faad2-20040923.tar.bz2 ; cd faad2-20040923
$ ./configure --prefix=/usr ; cd libfaad ; make
Compile ffmpeg (support for H264 and many other codecs)
$ cd ~/videolan ; cvs -z9 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg co ffmpeg
$ cd ffmpeg ; ./configure --enable-pp --enable-gpl ; make
Compile libvc1 (WMV9 support)
$ cd ~/videolan ; wget http://nanocrew.net/sw/libvc1-1.0.tar.gz ; tar -zxvf libvc1-1.0.tar.gz
$ wget http://USERNAME:PWD@www.smpte-vc1.org/TrialPublication/Decoder/VC1_reference_decoder_release6.zip
$ unzip VC1_reference_decoder_release6.zip
$ cp VC1_reference_decoder_release6/decoder/*.[ch] libvc1-1.0/src/.
$ cp VC1_reference_decoder_release6/shared/*.[ch] libvc1-1.0/src/.
$ cd libvc1-1.0 ; ./bootstrap ; ./configure --prefix=/usr ; make
Install VLC
$ cd ~/videolan ; svn co svn://svn.videolan.org/vlc/trunk vlc-trunk
$ cd vlc-trunk ; wget -O – http://nanocrew.net/sw/vlc-libvc1.diff | patch -p0
$ ./bootstrap ; ./configure --with-ffmpeg-tree=../ffmpeg --enable-faad --with-faad-tree=../faad2-20040923 --enable-esd --enable-flac --enable-theora --enable-libvc1 --with-libvc1-tree=../libvc1-1.0 --disable-hal
$ make ; sudo make install

September 2nd, 2005 at 4:48 am
Ugh. And people wonder why Linux just never hits the mainstream desktop. :-p
September 2nd, 2005 at 6:02 am
I really like VLC, but I use OS X. Will the sources for WMV9 be platform-independent, or is this something that is specific to x86-linux (or something else that prohibits VLC on OS X from using it) ?
September 2nd, 2005 at 8:53 pm
Thanks so much for making it available to newbies like me (a Happy Ubuntu and Linux user since 4 months).
Pierre
September 3rd, 2005 at 1:04 am
Anson – libvc1 builds here on my Macintosh (powerpc-apple-darwin-8.20), so I assume the rest builds, and works… however, I’ve not tried yet
September 3rd, 2005 at 5:32 pm
nice stuff! looking forward for the next VLC version with this feature built-in
September 3rd, 2005 at 10:06 pm
…one correction
apt-get install libwxgtk2.6-dev
does not work on my Ubuntu package 1.0.6
i downloaded package wxGTK-2.6.1 from http://www.wxwidgets.org/
and compiled it. the following is from the readme and worked for me
mkdir build_gtk
cd build_gtk
../configure –with-gtk=2
make
su
make install
ldconfig
September 4th, 2005 at 1:17 pm
can sb compile VLC with WMV9 codec for windows? or is it not possible?
September 4th, 2005 at 4:53 pm
I managed to build VLC with libvc1 support under OS X. All the files I’ve thrown at it don’t seem to decode past the first couple frames though. If I seek through the file, I get a couple frames of animation and then it freezes again. The error dialog fills up with a lot of
“libvc1: failed to decode frame” errors and an occasional “main: decoder is leaking pictures, resetting the heap” error. It seems that the video only updates every time one of the “resetting the heap” errors comes up. My first assumption is that something isn’t getting byteswapped and is getting fed into the codec wrong. Where should I look first?
September 4th, 2005 at 8:28 pm
perfect.
finally i will be able to watch those wmv9 avi files on mac osx.
one little question only:
i wasn’t able to compile vlc on osx.
is it somehow possible to only compile libvc1 and put it into a vlc-nightly-build?
great work btw
September 4th, 2005 at 11:24 pm
And after some “fun” with getting automake/autoconfig/libtool to talk to each other on my OS-of-choice, its also working on BeOS 5.04/x86. Now, to rebuild VLC, with my currently utterly shagged build enviroment…
September 5th, 2005 at 5:17 pm
will someone make a ubuntu breezy package? This would be very helpful for many users
September 5th, 2005 at 7:40 pm
Ugh. And people wonder why Linux just never hits the mainstream desktop. :-p
Well, did anyone want that it does, I mean like hitting the mainstream desktop? I think most of the Linux users reject the idea of Linux for the vast masses of people, since it would just fill the forums with questions like how could I install this or compile that.
No, I think that Linux is best for developers or power users than DAUs, though I am sure that compiling this VLC Version in Windows is just as hard as compiling it in Linux – Of course you could use a Linux desktop like a Windows desktop(RPMs etc.), but is there any advantage but the price for the average user?
September 6th, 2005 at 12:15 am
Is it possible at this point to play wmv9 *without* needing proprietary software such as the reference decoder?
September 7th, 2005 at 1:03 pm
since the standard was published recently, i’m afraid that no open source lib exists. (else we would already have included the change in VLC)
September 9th, 2005 at 5:03 am
FYI, the VLC configure script doesn’t check for libpostproc headers, so compilation fails later on.
September 9th, 2005 at 7:40 am
One more thing: ffmpeg.c includes libpostproc/postprocess.h but libpostproc-dev from the Marillat (nerim.net) APT repository puts the headers in /usr/include/postproc, so Debian users should:
cd /usr/include
sudo ln -s postproc libpostproc
Using the libavcodec-dev package under Debian also makes the build process complain about missing libavcodec_pic, libavformat_pic, and libavutil_pic. I guess Debian/Marillat users still need the ffmpeg tree.
September 9th, 2005 at 12:22 pm
I followed every step but VLC is not working well here, Breezy too. If I open a file from the GUI it fails because some strage characters appear in the beginning of the path (they look fine in GUI), when opening from CLI it works. Sorry for requesting support here but I can’t find an answer elsewhere. Thanks.
September 9th, 2005 at 3:32 pm
the ffmpeg team are working on ‘ffwmv3′ open source codec created from reading the wmv9/vc1 spec…
its slow to code of course, the reference decoder will speed things up a bit.
September 10th, 2005 at 1:40 am
i dont have a bootstrap or configure file in my reference decoder zip file. does anyone have the zip with these?
September 11th, 2005 at 2:37 am
I’m having the same problem as Allan in all the OSes I’ve tried (OS X, Gentoo on PPC and x86)–it gets through the first frame, then I get libvc1 decoder error: failed to decode frame. Sometimes I can get it to render another frame if I pause and play again. It seems to be related to resolution–the 640×480 files I’ve tried don’t work, but 320×240 is great. For a test file, the large wmv of systm #2 caused problems for me.
September 15th, 2005 at 8:59 am
To get the above to work (Ubuntu Breezy, up to date as of 2005/09/15) I had to configure VLC with “–disable-nls” (for some reason even with gettext installed it wasn’t working otherwise), also install xvlibs using apt-get. Apart from that, woohoo!
September 28th, 2005 at 9:48 am
How about a win32 build?
September 30th, 2005 at 3:00 am
I had problems with decoding frame because of low bandwidth.
I’ve modified vlc/modules/access/mms/mmstu.c, MMSOpen, adding before loop ‘ for( i = 1; i
btr_diff_best_audio = 32767;
btr_diff_best_video = 32767;
btr_diff = 0;
i_prev_audio = -1;
i_prev_video = -1;
/* select stream with the best match to preferred bitrates */
#define _ABS(a) (a)>0?(a):(-(a))
for( i = 1; i asfh.stream[i].i_cat == ASF_STREAM_AUDIO )
{
btr_diff = _ABS ((p_sys->asfh.stream[i].i_bitrate / 1024) – p_access->btr_pref.btr_pref_audio);
if (btr_diff asfh.stream[i].i_selected = 1;
if (i_prev_audio!=-1)
p_sys->asfh.stream[i_prev_audio].i_selected = 0;
i_prev_audio = i;
}
else
p_sys->asfh.stream[i].i_selected = 0;
}
else if( p_sys->asfh.stream[i].i_cat == ASF_STREAM_VIDEO )
{
btr_diff = _ABS ((p_sys->asfh.stream[i].i_bitrate / 1024) – p_access->btr_pref.btr_pref_video);
if (btr_diff asfh.stream[i].i_selected = 1;
if (i_prev_video!=-1)
p_sys->asfh.stream[i_prev_video].i_selected = 0;
i_prev_video = i;
}
else
p_sys->asfh.stream[i].i_selected = 0;
}
}
btr_pref is structure added to access_t, containis int btr_pref_video and int btr_pref_audio.
Now I have problem with:
[00000460] access_mms access: connection successful
[00000460] access_mms access error: reinitialization needed –> unsupported
My test mms – mms://stream.onet.pl/media.wsx?/info/200509/8e252eb4aa.wmv&MSWMExt=.asf
has two streams, the first one is logo of TV, second is actual content
September 30th, 2005 at 10:55 am
Legend mate! Thanks for taking the time to help out those who are new to Linux! Much appreciated
October 8th, 2005 at 4:15 am
The VC1 reference decoder is gone from the site…does this mean that something good is happening soon, or do they just not want us to have it?
October 8th, 2005 at 7:34 pm
Your computer doesn’t seem to have much problem with Linux.
October 17th, 2005 at 7:29 am
The link for VC1_reference_decoder_release6.zip is a 404
Can someone upload the file somewhere so that i can get it.
If you dont have webspace use http://www.megaupload.com thanks
October 17th, 2005 at 6:09 pm
The VC1 decoder is still not on the site. Does anyone know where else it is available?
Cheers!
October 23rd, 2005 at 2:47 pm
Nobody kept a package of the VC1 decoder?
Come on!
October 23rd, 2005 at 7:18 pm
http://people.uleth.ca/~dave.brady/vlc-with-vc1.deb
a package for ubuntu breezy i386 with vc1 enables
October 24th, 2005 at 12:23 am
yeah the vc1 decoder is not on the site anymore. does anybody know why?
thank you muaddib7 for posting a link to a deb package for ubuntu breezy i386.
I own a powerpc with ubuntu breezy though… has anyone still got it?
November 1st, 2005 at 2:42 pm
thank you muaddib7 for the ubuntu package, but i also need the v1 decoder…
November 2nd, 2005 at 8:43 am
Does anyone have the source code of vc-1? I’m not using Ubuntu (I’m using Fedora Core 3), so I am looking for a different package of VC-1.
November 8th, 2005 at 2:50 am
I get the following error when trying to do the final make; sudo make install
/usr/bin/ld: cannot find -lXext
collect2: ld returned 1 exit status
Also, the .deb pkg for Ubuntu doesn’t put the vc1 stuff where we are compiling, so the
./bootstrap ; ./configure –with-ffmpeg-tree=../ffmpeg –enable-faad –with-faad-tree=../faad2-20040923 –enable-esd –enable-flac –enable-theora –enable-libvc1 –with-libvc1-tree=../libvc1-1.0 –disable-hal
line doesn;t work either. I tried installing through Synaptic, but VLC won’t work
November 12th, 2005 at 1:43 am
muaddib7: could you also post a deb-src of this package? I’d like to recompile it myself.
November 12th, 2005 at 4:49 pm
Hi,
I need the source of the VC decoder (VC1_reference_decoder_release6.zip). On the above mentioned
site I can not found it anymore.
Where can I get this?
Could anyone help me on this?
Thanks.
November 13th, 2005 at 2:53 pm
Thank you muaddib7 but I also need vc1 decoder (vc1dec.c ….) which is in the VC1_reference_decoder_release6.zip file. After that I should be able to decode WMV3 files…
Could you send it please?
Thank you !
November 17th, 2005 at 7:31 pm
Hmm, some one got VC1_reference_decoder_release6.zip ? its annoying, I can`t find it anywhere..:S
November 18th, 2005 at 2:16 pm
Same here. Would be great if someone uploaded it somewhere.
December 3rd, 2005 at 7:33 am
For anyone else finding this a dead end here’s why:
To get the VC1 reference decoder, you have to be a member of the STMPE group. See where it says “USERNAME:PWD” up there? You have to actually have a username and password! Just click the link, go through the tedious process of joining SMTPE, paying the fees, joining the AHG, blah blah blah, and repeatedly ask yourself why you’re bothering.
Oh, BTW: you have to agree not to share test materials (i.e. “vc1_reference_decoder_release6.zip”). It is not open source.
December 5th, 2005 at 2:27 pm
Ubuntu Breezy -lXext issue
>> /usr/bin/ld: cannot find -lXext
>> collect2: ld returned 1 exit status
apt-get install libxext-dev
retry make and it should work.
-Enjoy
December 10th, 2005 at 5:00 pm
for dudes intrested to VC1_reference_decoder_release6, may be useful reading this page : http://multimedia.cx/eggs/?p=129
December 20th, 2005 at 6:57 pm
Wow… never expected to see the deb I compiled posted here. Just want to give a warning on that though. It isn’t 100% working (playlist is broken), and it’s a very rough hack job. But if the deb has been useful to you, that’s what matters.
Anyways, a link to the VC1 Reference Decoder, due to popular request. Enjoy. I’ll see if I can compile a newer version of VLC that hopefully lacks the bugs that are present in the deb I made previously that muaddib7 posted.
December 20th, 2005 at 7:29 pm
Sorry folks. Just realized why nobody else ever posted a link to the VC1 Reference Decoder. It IS on the site, and you can get it for free. You just need to jump through some hoops first. As I just realized that it was illegal to redistribute it, even though it’s offered for free… I have removed it from my web space.
December 30th, 2005 at 11:14 pm
Three words can best describe what I get back from the VC1 reference decoder URL:
Four. Oh. Four.
The file is gone.
January 1st, 2006 at 1:05 pm
There is an easier way to get all build dependencies for a package (the dev packages listed above): use apt-get build-dep.
January 2nd, 2006 at 2:42 pm
It is a 404, but after searching in the comments above i found this site:
http://www.multimedia.cx/VC1_reference_decoder_release6.zip
Thanks
Multimedia Mike
January 3rd, 2006 at 6:23 am
The link for VC1_reference_decoder_release6.zip is a 404
Can someone upload the file somewhere so that i can get it.
January 3rd, 2006 at 6:25 am
link
http://www.multimedia.cx/VC1_reference_decoder_release6.zip
isn not opening up
January 10th, 2006 at 7:11 pm
One question is that any vc1 bitstream existed?
or where can i find the test or conformance ones….
January 12th, 2006 at 6:24 am
It works perfect, except for the speed:(
It is very sloooow on my 3000+64 with breezy amd64. I tried it with one videofile and the picture runs slower than the sound. I followed every single step, except i used checkinstall rather then make install. Is it proposed to be unusable? Or does it work only with small files?
January 30th, 2006 at 12:06 pm
Does anyone know how to do this for OS X, but with mplayer/mencoder instead, probably using the hooking with ffmpeg on this sitehttp://multimedia.cx/eggs/?p=129 (the hooking i sadly cannot get to work).
I am currently trying to compile VLC with vc1 support, so I’ll get this somehow, but being able to use this with mencoder would be useful, converting the WMV’s to Xvid and whatnot.
January 30th, 2006 at 12:12 pm
To add on this I am currently getting this problem compiling VLC:
configure.ac:1: error: possibly undefined macro: dnl
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:274: error: possibly undefined macro: AC_DEFINE
configure.ac:278: error: possibly undefined macro: AC_CHECK_LIB
configure.ac:292: error: possibly undefined macro: AC_MSG_ERROR
configure.ac:386: error: possibly undefined macro: AC_CHECK_HEADERS
configure.ac:774: error: possibly undefined macro: AC_MSG_WARN
configure: error: cannot find install-sh or install.sh in autotools ./autotools
make: *** No targets specified and no makefile found. Stop.
February 1st, 2006 at 10:10 am
il faut ajouter x11proto-xext-dev a la liste des apt-get
February 8th, 2006 at 8:22 am
What about encoding to wmv3 under linux (for example by VLC) ??
Maybe somebody can do this?
February 9th, 2006 at 2:10 am
what about transcoding in WMV9, maybe somebody can do this??
February 12th, 2006 at 1:36 pm
I did all this – managed to find the required bits – get to the ./configure and that fails for breezy ubuntu – so i suspect synaptics – go there and lo and behold – VLC is already there to select for a reinstall! Which I have done and it works …. so if you are on breezy Badger 5.10 you may wish to bear this in mind….
February 16th, 2006 at 12:41 pm
I built this free thing (VC1) in my free time for the sake of free blah blah blah. So now just pay for it.
Thank you Mr. Gates
March 8th, 2006 at 5:07 am
MainframeGuy
The version found in the Breezy via synaptic,has it got support for wmv9?That the point with building this package.
March 9th, 2006 at 1:04 pm
I have amd64 version of ubuntu breezy and I installed packages with apt everything works fine expect mozilla-vlc-plugin doesn’t work. When I start to play some video from internet “no picture” reads and nothing is shown. If I download that video clip it’s playing fine. Like http://www.apple.com/trailers/ are not playing with mozilla-plugin…
March 11th, 2006 at 7:18 am
Bogger…
Followed this great howto, but at the end… I am not able to play wmv9 files. The file opens up, but I do not get any picture… The sound works perfect, but the picture is just a big black box… Any ideas?
April 4th, 2006 at 9:20 pm
Anybody got a copy of the VC1 reference decoder code? The link does not help. Any other link to it?
April 11th, 2006 at 6:38 am
http://www.multimedia.cx/VC1_reference_decoder_release6.zip
is now openning and file is available
May 16th, 2006 at 8:24 am
I could compile it with osx – but wmv9 support still did not work.
could somebody release a binary of vlc with vc1 on osx-intel?
thanks a lot.
eric
May 18th, 2006 at 2:18 am
Kubuntu Dapper Drake Test Release 7 x86_64
Everything works great! Playback is fine. The only thing outside of the guide that I had to do was initiate the following commands with sudo
$ cp VC1_reference_decoder_release6/decoder/*.[ch] libvc1-1.0/src/.
$ cp VC1_reference_decoder_release6/shared/*.[ch] libvc1-1.0/src/.
Once I did that, everything went smooth. When I intiate vlc from the command line, it does not playback WMV9 but when I initiate wxvlc everything works like a champ. I don’t know the difference but that’s ok for now.
/Sleep
July 16th, 2006 at 11:47 am
XVideo
Successfully built on ubuntu dapper. wmv works. woo hoo! However all playback was pixelated. Eventually figured out that the XVideo output module works better with my video card – laptop built-in Intel 82852/855GM. Fixed thus:
install the libxv-dev libxvmc-dev packages
reconfigure vlc with –enable-xvideo
rebuild, reinstall
Not sure if all of those steps were required, but it worked. Now vlc defaults to XVideo output, no more pixelation, wmv still works. Sorry I didn’t take notes – besides the above I had to tweak a few things here and there.
One other note: this build installed to /usr/local/bin/vlc so it didn’t overwrite the previous version (0.8.4) installed from the repository to /usr/bin/vlc . Both versions seem to run fine, but this could easily be confusing – check help > about – your freshly-built version will say “compiled by [your name]@[your hostname]“