Page 1 of 1

Customize VLC Installer

Posted: 17 Apr 2007 20:29
by ddod
We have converted out Cable TV infrastructure over to an IPTV solution. We want to suggest VLC to our students as the default player for the tv streams. However, our legal department is requiring us to make a "legal" version of the player/plugin available to our students (whether they use ours or yours is up to them). Basically we need to remove the ability to play encrypted DVD's.

I have read that this done through the libdvdcss.dll but that dll does not seem to exist on my platform. Does this mean it is embedded into the core code and the only way to remove it is with a recompile?

Posted: 17 Apr 2007 20:59
by Jean-Baptiste Kempf
Hello,

Nope. libdvdcss is NEVER embedded in the core. and libdvdcss.dll is inside libdvdnav*.dll...
If you need a version that has not libdvdcss but can read DVD, then you need to recompile a version.

Posted: 17 Apr 2007 21:49
by ddod
Thanks for the response.

So I can remove the libdvdnav dll's and this would in essence remove the css code? It would also remove the ability to playback any dvd, right?

We have quite a bit of experience with NSIS here, is there a way to just recompile the installer (not the code) and remove the dvd dll's through the NSIS script? It seems that the NSIS script/compile is a part of the entire compile process (I can't find an NSIS project with pre-compiled binaries). In order to create the installer, I basically need to have a complete compile environment set up as well. Is that right?

Thanks again.

Posted: 18 Apr 2007 01:15
by Jean-Baptiste Kempf
Well, not exactly, but, to be short, that may be the easier way to do it.

But yes, if you remove the libdvdnav dll, you will not read any DVDs... But as most of dvd are using the crap CSS protection, it is almost the same...

Posted: 18 Apr 2007 01:17
by Jean-Baptiste Kempf
Maybe you can rerun the NSIS installer without dvd dlls present.

Maybe you can even send us a patch on the NSIS installer to permit in order to give an option to not install it...

Posted: 18 Apr 2007 18:04
by ddod
If I understand things correctly, what a patch to the NSIS installer would do is simply create an install option where the end user could choose whether or not to install the libnav dll. If they choose not to, then they would in essence be disabling all DVD functionality (basically just not be able to navigate DVD menus, right?).

If we want to maintain the ability to play unencrypted DVD's, then the libdvdcss would need to be removed at compile time.

Is that correct?

Maybe a good solution to this would be the provide two livdvdnav dll to the NSIS script, one with the embedded libdvdcss and one without. We then could add an install option where the end user could choose to disable DVD decryption. Depending on their choice, the installer would install the appropriate DLL.

Also you mentioned that I could re-run the NSIS script. In order to do that I would need to have all of the compiled binaries in the correct location for the NSIS script to find them. I am not finding any clear documentation on where to find the binaries and where NSIS is looking for them. I could get the binaries from off my system (after install) and then scour the NSIS script to figure out where it is looking for things. But before spending a large amounts of time doing this I was hoping to find out if this process had already been documented somewhere.

Thanks again for your help.

P.S. Thanks for your help on the Mac forum

Posted: 19 Apr 2007 01:24
by ddod
I just realized that I did have access to the all of the pre-compiled binaries. I just downloaded the zip version and they were all there with the NSIS script. SO everything I need is there for making an altered installer. Now if there was an easy way to grab a version of libdvdnav.dll that has the libdvdcss stuff stripped out. IN the meantime removing the libdvdnav.dll completely should do the trick.

Thanks again for your help.

Posted: 19 Apr 2007 09:14
by Jean-Baptiste Kempf
I just realized that I did have access to the all of the pre-compiled binaries. I just downloaded the zip version and they were all there with the NSIS script. SO everything I need is there for making an altered installer. Now if there was an easy way to grab a version of libdvdnav.dll that has the libdvdcss stuff stripped out. IN the meantime removing the libdvdnav.dll completely should do the trick.

Thanks again for your help.
No, you need to do it yourself or pay someone to do so. Or go in a country where Freedom truely exists....

Posted: 19 Apr 2007 23:47
by ddod
We'll I have modified the installer to remove the offending DLL's. It appears that libdvdread_plugin.dll actually contains the majority of the libdvdcss references. There was one reference to the libdvdcss in the libdvdnav_plugin.dll. I just removed them both for good measure. Of course this seemed to completely remove vlc's ability to play DVD's.

Of course we have links back to the videolan website in case our user's decide to get the full version on their own accord.

Thanks for the help.

Posted: 20 Apr 2007 00:27
by Jean-Baptiste Kempf
Nice. 8)

Well, yes, you don't have any DVD playback, but well, delivering a DVD playback with no CSS decryption is not really useful. :D

If you need it, recompile a VLC version without it. Or pay someone to do so :D