Полный список возможных опций можно прочитать в man странице. Синтаксис для стандартных Цифровых Многоцелевых Дисков[Digital Versatile Disc] (DVD) таков:
mplayer dvd://<ролик>
[-dvd-deviceпривод
]
Пример:
mplayer dvd://1
-dvd-device/dev/hdc
Устройство DVD по умолчанию - это /dev/dvd. Если Ваши настройки отличаются, создайте символическую ссылку или укажите правильное устройство в командной строке, используя опцию -dvd-device.
Новая поддержка DVD (mpdvdkit2).
MPlayer использует библиотеки libdvdread
и libdvdcss
для DVD расшифровки и
воспроизведения. Эти две библиотеки содержатся в подкаталоге
libmpdvdkit2/ дерева исходного кода
MPlayer'а, так что отдельно устанавливать их не нужно.
Мы выбрали такое решение потому, что нам пришлось исправить ошибку
в libdvdread
и добавить патч к libdvdcss
, включающий поддержку
сохранения взломанных ключей CSS. Это
предотвращает повторный взлом ключа при каждом просмотре, существенно увеличивая
скорость.
MPlayer способен использовать системные библиотеки
libdvdread
и libdvdcss
, но это
не рекомендуется, так как может приводить к
ошибкам, несовместимости и потере скорости.
В случае проблем с декодированием DVD, попробуйте отключить supermount или другие подобные удобства.
Структура DVD. Диски DVD используют сектора размером в 2048 байтов с ECC/CRC. На них обычно единственная файловая система UDF на одной дорожке, которая содержит различные файлы (коротенькие .IFO и .BUK и длинные (порядка гигабайта) .VOB). Это настоящие файлы, которые можно просматривать/переписывать с замонтированного не зашифрованного DVD.
Файлы .IFO содержат информацию для навигации (раздел/ролик/угол/язык и пр.), необходимую для интерпретации содержания .VOB (кино). Файлы .BUK — их дубли. Эти файлы содержат адреса в секторах, так что для исполнения навигации и расшифровки DVD, нужен доступ к файлам на уровне секторов.
Для поддержки DVD необходим прямой посекторный доступ к устройству. К сожалению,
(под Linux) Вы должны быть root'ом, чтобы получить секторный адрес файла.
Поэтому мы вообще не используем драйвер файловой системы из адра, а
переписываем его для выполнения в пользовательсмком пространстве.
libdvdread
0.9.x и
libmpdvdkit
так и делают. Драйвер UDF
файловой системы не нужен, поскольку в этих библиотеках есть встроенные
драйвера файловой системы
UDF. Также DVD не обязан быть замонтированным, поскольку используется
только прямой посекторный доступ.
Иногда пользователи не могут читать /dev/dvd,
поэтому авторы libdvdread
написали эмуляционный
уровень, который превращает секторные адреса в названия файла и смещение,
для эмуляции прямого доступа на замонтированной файловой системе или на жёстком
диске.
libdvdread
даже принимает точку монтирования вместо
имени устройства для прямого доступа, и получает его название из
/proc/mounts. Этот метод придуман для Solaris-ов, где данные названия
присваиваются динамически.
Устройство DVD по умолчанию — /dev/dvd. Если Ваши настройки отличаются, создайте символическую ссылку или укажите правильное название в командной строке после опции -dvd-device.
DVD аутентификация.
Аутентификация и дешифровка в новом методе поддержки DVD происходит, используя
пропатченную libdvdcss
(см. выше). Метод может быть
указан в переменной среды DVDCSS_METHOD
, которая может быть
установлена в key, disk or title.
Если ничего не указано, она пробует следующие методы (по умолчанию: key, title request):
bus key: Этот ключ устанавливается во время аутентификации (длинная смесь ioctl'ов и различных обменов ключами, криптографические процедуры) и используется для зашифровки ключей диска и ролика при передаче по незащищённой шине (во избежания подслушивания). Он необходим для получения и предварительной расшифровки ключа диска.
cached key: MPlayer ищет уже взломанный ключ ролика, который сохраняется в каталоге ~/.mplayer/DVDKeys (быстро ;).
key: Если кэшированного ключа нет, MPlayer пытается расшифровать ключ диска с помощью включённых ключей плееров.
disk: Если метод key проваливается (например, при отсутствии ключей плееров) MPlayer взломает ключ грубой силой. Этот метод интенсивно использует процессор и нуждается в 64 мегабайтах памяти (хэш-таблица из 16 миллионов 32-разрядных записей). Работает наверняка (но медленно).
title request: Используя ключ диска
MPlayer запрашивает зашифрованные ключи роликов,
которые находятся в скрытых секторах, используя
ioctl()
. Региональная защита RPC-2 приводов
осуществляется именно на этом этапе; может не сработать на подобных приводах.
Если удаётся, ключи роликов будут расшифрованы, используя ключа диска и шины.
title:Данный метод используется если title request не срабатывает. Он не опирается на обмен ключами с приводом. Используется криптографическая атака, чтобы угадать ключ непосредственно (находится повторяющаяся последовательность в расшифрованном содержимом VOB'а и предполагается, что текст, соответствующий первому зашифрованному байту - это продолжение этой последовательности). Метод также известен под названиями " атака с известным открытым текстом" или "DeCSSPlus". В редких случаях этот метод проваливается, по причине недостаточности зашифрованного содержания для статистической атаки или из-за изменения ключа в середине ролика. Это единственный метод расшифровать содержимое DVD на жёстком диске или на диске из неподходящего региона на проигрывателе RPC-2. (медленный метод).
С дисководами RPC-1, региональная защита осуществляется программно. Дисководы RPC-2 защищены аппаратными средствами, разрешающими менять регион всего 5 раз. Рекомендуется обновить прошивку[firmware] до RPC-1 если у тебя RPC-2 привод. Обновления прошивок могут быть найдены на странице прошивок. Если для Вашего дисковода нет обновления, используйте для изменения региона привода программу regionset (для Linux). Внимание: Изменить регион можно всего 5 раз.