DVD Resources for Open Source Development


DVD.sf.net was created to provide a repository of DVD-related software and DVD information resources for Open Source development.

It is important to note that None of the software hosted on this site contains any code which performs CSS decryption. Such tasks are left to external libraries which must be obtained elsewhere.

This page is split into the following sections:


11 Jun 2004 -- libdvdnav 0.1.10 released

There is finally a new release of libdvdnav. This one just fixes some little problems and will make several DVDs play even better. The next release will contain some bigger changes, which will be discussed soon. So any developer who uses libdvdnav might want to join us on the dvd-devel list.

02 Jun 2004 -- we are still alive

Although you have not heard a lot from us, this project is still alive and well. libdvdnav is receiving small but constant improvement to work with more DVDs. But even now it is hard to find a disc that does not play correctly.

The website has been updated a bit, with some outdated and unmaintained parts removed.

08 Aug 2002 -- xine-dvdnav to become official part of xine

Today the following announcement was posted on the xine developers' and users' lists:

hallo everyone,

a little while ago the question was rised again if and when
xine_dvdnav (http://dvd.sourceforge.net) will be included in the main
xine cvs and release tarballs. this has triggered a private discussion
about the topic among some of the core xine developers and i am very happy
to announce that we came to an agreement pretty quickly.

the plan is to add xine_dvdnav, libdvdnav and libdvdread to the xine cvs.
nevertheless xine_dvdnav, libdvdnav and libdvdread will continue to be
developed on their own, seperate cvs at dvd.sourceforge.net and from
time to time stable snapshots will be ported over to the xine cvs
(typically once per xine release) - this is pretty much the same method
that is used to include ffmpeg, libmpeg2 (among others) in xine.

xine_dvdnav will become the default dvd plugin. the former dvd plugin will
no longer provide an autoplay button but will continue to exist for
test purposes or advanced users; it will probably be adapted to
use libdvdread as well. details about this are still open for discussion.

however, there will be no css decryption / authentication code added to
the xine cvs. this means that by default xine can only play back
unlocked and unencrypted dvds (and the dvd drive must be set up for
the correct reagion if it is a rpc-2 drive).

now if the user tries to play back a dvd and there is a problem either
with region locking and/or encryption a dialog box will be displayed
informing the user about the situation. the exact text for that dialog
box has yet to be decided on. it should explain what the problem is
and also talk about the legal problems involved with dvd playback.
of course the user is free to install some css library and libdvdread
will use it.

the purpose of all this is to

(1) make it easier for end-users to watch dvds using xine while
(2) make them aware of the legal problems involved with dvd playback

we hope that this move is one more step towards simple, easy and
high-quality playback of high-quality media using a free software player.
the xine team strongly believes that this step is in the best interest of
all involved parties:

most of all, of course, the users of xine - but also the media industry,
some of whose paying customers are looking for ways of (hopefully legal)
playback of dvds on a free software platform.

unfortunately there still is a lot of legal uncertainty about the
decryption of dvds, which is why xine still does not (and will not, until
things clear up) include any mechanisms to decrypt such dvds.
unfortunately this seems to be very contraproductive for everyone involved
- we can only hope that the movie industry (and lawmakers) will eventually
see the light and let people buy digital media and view them on a platform
built entirely from free software - without the fear of doing something
illegal in buying dvds and viewing them this way.


Mailing Lists

The following mailing lists have been set up relating to local projects:

Local projects


libdvdnav is a library for developers of multimedia applications. It allows easy use of sophisticated DVD navigation features such as DVD menus, multiangle playback and even interactive DVD games. All this functionality is provided through a simple API which provides the DVD playback as a single logical stream of blocks, intermitted by special dvdnav events to report certain conditions. The main usage of libdvdnav is a loop regularly calling a function to get the next block, surrounded by additional calls to tell the library of user interaction. The whole DVD virtual machine and internal playback states are completely encapsulated.

The code can be obtained from CVS by checking out the libdvdnav module.

These projects were hosted here, but are deprecated:

Technical Documentation

Free Video players

If you are an end user and want to get information on free video players, please check out these:

When it comes to DVD playback with libdvdnav, xine is our reference player.

Valid XHTML1! Valid CSS! SourceForge Logo