libdvdcss is a highly portable library for accessing and unscrambling DVDs encrypted with the Content-Scrambling System (CSS) system. It is part of the VideoLAN project and is used by VLC media player and all other open source DVD players such as Ogle, xine and MPlayer.
libdvdcss is designed to be platform independent, with versions for GNU/Linux, Microsoft Windows, Mac OS X, BeOS, BSD and Solaris. It is released under the GNU General Public License.
libdvdcss is not to be confused with DeCSS. While DeCSS uses a cracked DVD player key to perform authentication, libdvdcss uses a generated list of possible player keys. If none of them work (for instance, when the DVD drive enforces region coding) a brute force algorithm is tried so the region code of a DVD is ignored. Unlike DeCSS, libdvdcss has never been fought over in a courtroom.
In many countries it is forbidden to sell or document programs that provide ways around copy protection systems. CSS is not a copy protection system, but thwarts attempts to play the DVD without proper software. Despite this fact, many Linux distributions do not contain libdvdcss (for example Debian, SUSE Linux, and Ubuntu) for reasons concerning patents. In most of these cases, the library can be easily downloaded from the Internet.