1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
# libdvdread
**libdvdread** is a cross-platform library for simple navigation of DVDs.
It supports multimedia DVDs: DVD-Video and DVD-Audio.
It's been in use for more than 20 years to support any time of Disc.
## Goals and features
It focuses on DVD-Video and DVD-Audio; it does not support DVD menus, but
provides the low-level access to those discs and the DVD structures.
Written in C, cross-platform, it gives low-level access to DVD structures.
It works well in conjunction with ***libdvdnav*** *(menus)* and ***libdvdcss*** *(cipher)*.
## Where does it come from?
This library is based on a lot of code and expertise from the **Ogle project**.
**Ogle** was the first DVD player who implemented **free DVD navigation**. The
**libdvdread** developers wish to express their gratitude to the Ogle people
for all the valuable research work they have done.
Initially, the dvdnav code was part of a plugin to the xine media player
called xine-dvdnav. Later on, the DVD VM specific code was split
from xine-dvdnav and went into the first version of libdvdnav.
Then, it was forked, and forked again on MPlayer repositories.
libdvdnav and libdvdread were merged, and then split again.
## Where is it now?
Libdvdread is hosted [here](https://code.videolan.org/videolan/libdvdread).
Libdvdnav is hosted [here](https://code.videolan.org/videolan/libdvdnav).
You can find more information [here](https://www.videolan.org/developers/libdvdnav.html)
Please report bugs to the developers mailinglist at
[dvdnav mailing list](https://mailman.videolan.org/listinfo/libdvdnav-devel)
## License
**Libdvdread** is completely licensed under GPLv2/v3. You may use it at wish within the
bounds of this license. See the file [COPYING](https://code.videolan.org/videolan/libdvdread/-/blob/master/COPYING) for a copy of the GPL.
## Using libdvdread
A detailed description of DVD structures is available [here](http://www.mpucoder.com/dvd/)
All documentation is also accessible [here](http://dvdnav.mplayerhq.hu/#docs)
## Deciphering disks
**Libdvdread** does not do any decryption of the CSS algorithm. This task can be delegated to **libdvdcss**.
Install *libdvdcss* from source or from your distribution (*libdvd-pkg*) to play full DVDs,
if your country allows this to work legally.
Note that *libdvdnav* is useful for interactive DVD menus.
## CoC
The [VideoLAN Code of Conduct](https://wiki.videolan.org/Code_of_Conduct/) applies to this project.
# Compile
1. Install [Meson](https://mesonbuild.com/) (0.60 or higher), [Ninja](https://ninja-build.org/)
2. Run `mkdir build && cd build` to create a build directory and enter it
3. Run `meson setup ..` to configure meson, add `--default-library=static` if static linking is desired
4. Run `ninja` to compile
|