# HG changeset patch # User lumag # Date 1049049174 0 # Node ID c90dda76143bf0203023ac7bd990dde84db09946 # Parent 38db87efcfc87cb9d57dc4211bbd3fad49158091 XML'ization & partial rewrite of main/DOCS/ru/cd-dvd.html diff -r 38db87efcfc8 -r c90dda76143b DOCS/xml/ru/cd-dvd.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/xml/ru/cd-dvd.xml Sun Mar 30 18:32:54 2003 +0000 @@ -0,0 +1,371 @@ + + +Использование CD/DVD + + +приводы CD/DVD + +Из Linux'овской документации: + + + +Современные приводы CD-ROM могут работать на очень высоких скоростях, некоторые +из них способны регулировать скорость чтения. Несколько аргументов в пользу использования этой возможности: + + + + +При высоких оборотах возрастает вероятность ошибки при чтении, особенно с +неправильно записанных дисков. Уменьшение скорости может предотвратить потерю +данных в некоторых случаях. + + + +Уровень шума, возрастающий с оборотами, может оказаться весьма существенным + + + + +Вы можете уменьшить скорость врашения IDE CD-ROM приводов программами +hdparm или setcd. Это работает так: +hdparm -E [скорость] [привод] + +setcd -x [скорость] [привод] + + + + +Вы также можете попробовать +echo current_speed:4 > /proc/ide/[cdrom device]/settings +но для этого требуются привилегии администратора. Следующая команда +тоже может быть полезна: +echo file_readahead:2000000 > /proc/ide/[cdrom device]/settings + + + +Таким образом предварительно cчитывается 2 мегабайта (полезно при +дисках с царапинами). Если поставить слишком высокое значение, то постоянный +запуск и остановка вращения диска драматически снизят эффективность. +Рекомендуется также подстроить привод, используя hdparm: +hdparm -d1 -a8 -u1 привод + + + +Таким образом включается прямой доступ к памяти[DMA], предварительное +чтение и размаскировка IRQ (прочти man-страницу hdparm, +для более подробного описания). + + + +Обратитесь к "/proc/ide/[cdrom device]/settings" +для подстройки Вышего CD-ROM привода. + + + +У SCSI приводов нет общего способа выставить эти параметры (Вы знаете какой-нибудь? +Расскажите нам!) Существует программа для +Plextor SCSI приводов. + + +FreeBSD: +Скорость: cdcontrol [-f device] speed speed +DMA: sysctl hw.ata.atapi_dma=1 + + + +Воспроизведение DVD + +Полный список возможных опций можно прочитать в man. +Синтаксис для стандартных Цифровых Многоцелевых Дисков[Digital Versatile Disc] +(DVD) таков: +mplayer -dvd ролик [-dvd-device привод] + + + +Пример: +mplayer -dvd 1 -dvd-device /dev/hdc + + + +Устройство DVD по-умолчанию - это /dev/dvd. Если Ваши +настройки отличаются, создайте символическую ссылку или укажите правильное +устройство в командной строке, используя опцию . + + + +Новая поддержка DVD (mpdvdkit2) + +MPlayer использует библиотеки libdvdread + и libdvdcss для DVD расшифровки и +воспроизведения. Эти две библиотеки содержатся в подкаталоге +libmpdvdkit2/ дерева исходного кода +MPlayer'а, так что отдельно устанавливать их не нужно. Мы выбрали такое решение +потому, что нам пришлось исправить ошибку в libdvdread +и добавить патч к libdvdcss поддержку +сохранения взломанных ключей CSS. Это +предотвращает повторный взлом ключа при каждом просмотре, существенно увеличивая +скорость. + + + + +MPlayer способен использовать системные библиотеки +libdvdread и libdvdcss, но это +не рекомендуется, так как может приводить к +ошибкам, несовместимости и потере скорости. + + + +Поддержка DVD навигации (dvdnav) + +Поддержка DVD навигации, используя dvdnav была начата, +но никогда не была доведена до ума, и на данном этапе заброшена. Кто знает, +она может даже скомпилироваться. + + + + +Старая поддержка DVD - НЕ ОБЯЗАТЕЛЬНО + +Это может оказаться полезным, например, при просмотре зашифрованных VOB-файлов +с жесткого диска. Cкомпилируйте и установите +libcss (версию 0.0.1, ни в коем случае не +более позднюю). Если MPlayer ее не +обнаружит, добавьте . Для +использования необходимы привилегии администратора или suid root на исполняемом +файле MPlayer'а или позвольте MPlayer'у запустить suid root обработчик +fibmap_mplayer. + + + + +Структура DVD + +Диски DVD используют сектора размером в 2048 байтов с ECC/CRC. На них обычно +единственная файловая система UDF на одной дорожке, которая содержит +различные файлы (коротенькие .IFO и .BUK и длинные (порядка гигабайта) +.VOB). Это настоящие файлы, которые можно просматривать/переписывать с +замонтированного не зашифрованного DVD. + + + + +Файлы .IFO содержат информацию для навигации (раздел/ролик/угол/язык и пр.), +необходимую для интерпретации содержания .VOB (кино). Файлы .BUK — их +дубли. Эти файлы содержат адреса в секторах, +так что для исполнения навигации и расшифровки DVD, нужен доступ к файлам на +уровне секторов. + + + +Из-за этого старая поддержка DVD c libcss нуждается в +замонтированной файловой системе и посекторному доступу к устройству. К +сожалению, для этого нужны привилегии администратора (под Linux). Проблема +решается тремя способами: + + + +Привилегированный доступ или исполняемый файл MPlayer +'а с suid root. + + + +Позвольте MPlayer'у выполнять the suid-root +обработчик fibmap_mplayer для доступа к DVD (используется в старом методе +воспроизведения DVD через libcss). + + + +Не использовать драйвер файловой системы из ядра и все делать в пространстве +пользователя. libdvdread 0.9.x и +libmpdvdkit так и делают (новая поддержка DVD). Драйвер 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 раз. + + + + +воспроизведение VCD + +Полный список возможных опций можно прочитать в man. Синтаксис для обычного +Видео-CD (VCD): +mplayer -vcd дорожка [-cdrom-device устройство] +Пример: +mplayer -vcd 2 -cdrom-device /dev/hdc +Устройство VCD по умолчанию — /dev/cdrom. Если Ваши +настройки отличаются, создайте символическую ссылку добавьте правильное название +в командной строке после опции . + + + +По крайней ммере Plextor'ы и некоторые Toshiba SCSI CD-ROM прибоды показывают +ужасную производительность при чтении VCD'ов. Это объясняется неполным +осуществлением ioctl CDROMREADRAW на этих приводах. +Если Вы имеете некоторые познания в сфере программирования SCSI, пожалуйста +помогите нам в написании поддержки +SCSI generic для VCD. + + + +В настоящий момент Вы можете извлечь данные с VCD'ов, используя + +readvcd, и воспроизвести получившийся файл MPlayer +'ом. + + + +структура VCD + +Диски VCD состоят из одной или нескольких дорожек: + + + + + +Первая дорожка содержит несколько мегабайт секторами по 2048 байтов, +с файловой системой iso9660, обычно содержащей проигрыватель VCD для +Windows или прочую информацию, вроде картинок или текста. + + + +Вторая и остальные дорожки содержат MPEG-поток секторами по 2324 байта, по +одному пакету MPEG PS на сектор вместо файловой системы. Эти дорожки не монтируются (Вы когда-нибудь монтировали аудио диск +для того, чтобы его воспроизвести?) Так как большинство фильмов именно на этой +дорожке, попробуй сначала . + + + +Существуют VCD диски без первой дорожки (единственная дорожка без файловой +системы). Они просматриваются, но не монтируются. + + + + +Про файлы .DAT + +Файл примерно в 600 мегабайт на первой дорожке не настоящий! Это так +называемый ISO-переход, созданный, чтобы позволить Windows обрабатывать эти +дорожки (Windows вообще запрещает приложениям использовать прямой доступ +к устройствам). Под Linux Вы не можете копировать эти файлы (они выглядаят, как +мусор). Под Windows это возможно, поскольку из iso9660 эмулирует прямой доступ +к дорожкам через этот файл. Чтобы проигрывать .DAT файл Вам нужен драйвер, +который может быть найден в Linux версии PowerDVD. Это модифицированный драйвер +iso9660 файловой системы (vcdfs/isofs-2.4.X.o), который +способен эмулировать прямой доступ к дорожкам через этот файл. Если Вы +замонтируете диск, используя их драйвер, Вы можете копировать и даже проигрывать +.DAT файлы MPlayer'ом. Но это не будет работать со +стандартным драйвером iso9660 из ядра Linux! Используйте вместо этого опцию +. Альтернативами для копирования VCD может послужить новый +драйвер cdfs (не +входит в официальное ядро) который показывает дорожки[сессии] на диске как файлы +образов и cdrdao, приложение для +побитного чтения/копирования CD. + + + +