mirror of
https://github.com/mpv-player/mpv
synced 2024-12-15 11:25:10 +00:00
83cbe2fb21
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20530 b3059339-0415-0410-9bf9-f77b7e298cf2
291 lines
18 KiB
XML
291 lines
18 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- synced with r20442 -->
|
||
<chapter id="cd-dvd">
|
||
<title>Использование CD/DVD</title>
|
||
|
||
<sect1 id="drives">
|
||
<title>приводы CD/DVD</title>
|
||
|
||
<para>
|
||
Современные приводы CD-ROM могут работать на очень высоких скоростях, некоторые
|
||
из них способны регулировать скорость чтения. Несколько аргументов "за"
|
||
использование этой возможности:
|
||
</para>
|
||
|
||
<itemizedlist>
|
||
<listitem><para>
|
||
На высоких оборотах возрастает вероятность ошибки при чтении, особенно с
|
||
плохо штампованных дисков. Уменьшение скорости может предотвратить потерю
|
||
данных в этом случае.
|
||
</para></listitem>
|
||
|
||
<listitem><para>
|
||
Многие CD-ROM приводы ужасно шумят, а снижение скорости может привести
|
||
к уменьшению шума.
|
||
</para></listitem>
|
||
</itemizedlist>
|
||
|
||
<sect2 id="drives_linux">
|
||
<title>Linux</title>
|
||
|
||
<para>
|
||
Вы можете уменьшить скорость вращения IDE CD-ROM приводов программами
|
||
<command>hdparm</command>,<command>setcd</command> или <command>cdctl</command>. Это работает так:
|
||
<screen>hdparm -E <replaceable>[скорость]</replaceable> <replaceable>[устройство cdrom]</replaceable></screen>
|
||
<screen>setcd -x <replaceable>[скорость]</replaceable> <replaceable>[устройство cdrom]</replaceable></screen>
|
||
<screen>cdctl -bS <replaceable>[скорость]</replaceable></screen>
|
||
</para>
|
||
|
||
<para>
|
||
Если используется эмуляция SCSI, вам следует применять настройки к реальному IDE
|
||
устройству, а не сэмулированному SCSI.
|
||
</para>
|
||
|
||
<para>
|
||
Если у Вас есть привилегии администратора, следующая команда
|
||
тоже может оказаться полезной:
|
||
<screen>echo file_readahead:2000000 > /proc/ide/<replaceable>[устройство cdrom]</replaceable>/settings</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Таким образом, предварительно считывается 2 мегабайта (полезно при
|
||
дисках с царапинами). Если поставить слишком большое значение, то постоянный
|
||
запуск и остановка вращения диска ужасно снизят эффективность.
|
||
Рекомендуется также подстроить привод, используя <command>hdparm</command>:
|
||
<screen>hdparm -d1 -a8 -u1 <replaceable>[устройство cdrom]</replaceable></screen>
|
||
</para>
|
||
|
||
<para>
|
||
Этой командой включается прямой доступ к памяти[DMA], предварительное
|
||
чтение и размаскировка IRQ (прочтите man-страницу <command>hdparm</command>,
|
||
с более подробным описанием).
|
||
</para>
|
||
|
||
<para>
|
||
Обратитесь к "<filename>/proc/ide/<replaceable>[устройство cdrom]</replaceable>/settings</filename>"
|
||
для подстройки Вашего CD-ROM привода.
|
||
</para>
|
||
|
||
<para>
|
||
У SCSI приводов нет общего способа выставить эти параметры (Вы знаете какой-нибудь?
|
||
Расскажите нам!) Существует программа для
|
||
<ulink url="http://das.ist.org/~georg/">Plextor SCSI приводов</ulink>.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2 id="drives_freebsd">
|
||
<title>FreeBSD</title>
|
||
<para>Скорость:
|
||
<screen>cdcontrol [-f <replaceable>устройство</replaceable>] speed <replaceable>[скорость]</replaceable></screen></para>
|
||
<para>DMA: <screen>sysctl hw.ata.atapi_dma=1</screen></para>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<sect1 id="dvd">
|
||
<title>Воспроизведение DVD</title>
|
||
<para>
|
||
Полный список возможных опций можно прочитать в man странице.
|
||
Синтаксис для воспроизведения стандартного DVD таков:
|
||
<screen>mplayer dvd://<replaceable><ролик></replaceable> [-dvd-device <replaceable>устройство</replaceable>]</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Пример:
|
||
<screen>mplayer dvd://1 -dvd-device /dev/hdc</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Если вы собрали <application>MPlayer</application> с поддержкой dvdnav, синтаксис тот же,
|
||
просто укажите dvdnav:// вместо dvd://.
|
||
</para>
|
||
|
||
<para>
|
||
Устройство DVD по умолчанию - это <filename>/dev/dvd</filename>. Если Ваши
|
||
настройки отличаются, создайте символическую ссылку или укажите правильное
|
||
устройство в командной строке, используя опцию <option>-dvd-device</option>.
|
||
</para>
|
||
|
||
<para>
|
||
<application>MPlayer</application> использует библиотеки <systemitem>libdvdread
|
||
</systemitem> и <systemitem>libdvdcss</systemitem> для воспроизведения и расшифровки DVD.
|
||
Эти две библиотеки содержатся в подкаталоге
|
||
<filename class="directory">libmpdvdkit2</filename> дерева исходного кода
|
||
<application>MPlayer</application>'а, так что отдельно устанавливать их не нужно.
|
||
Вы также можете использовать уже установленные в системе версии библиотек, но это
|
||
<emphasis role="bold">не рекомендуется</emphasis>, так как может приводить к
|
||
ошибкам, несовместимости и потере скорости.
|
||
</para>
|
||
|
||
<note><para>
|
||
В случае проблем с декодированием DVD, попробуйте отключить supermount или
|
||
другие подобные удобства. Некоторые RPC-2 устройства могут требовать
|
||
уcтановку кода региона.
|
||
</para></note>
|
||
|
||
<formalpara>
|
||
<title>Структура DVD</title>
|
||
<para>
|
||
Диски DVD используют сектора размером в 2048 байтов с ECC/CRC. На них обычно
|
||
единственная файловая система UDF на одной дорожке, которая содержит
|
||
различные файлы (коротенькие .IFO и .BUK и длинные (порядка гигабайта)
|
||
.VOB). Это настоящие файлы, которые можно просматривать/переписывать со
|
||
смонтированного не зашифрованного DVD.
|
||
</para>
|
||
</formalpara>
|
||
|
||
<para>
|
||
Файлы .IFO содержат информацию для навигации (раздел/ролик/угол/язык и пр.),
|
||
необходимую для интерпретации содержания .VOB (кино). Файлы .BUK — их
|
||
дубли. Эти файлы содержат адреса в <emphasis role="bold">секторах</emphasis>,
|
||
так что для исполнения навигации и расшифровки DVD, нужен доступ к файлам на
|
||
уровне секторов.
|
||
</para>
|
||
|
||
<para>
|
||
Для поддержки DVD необходим прямой посекторный доступ к устройству. К сожалению,
|
||
(под Linux) Вы должны быть root'ом, чтобы получить секторный адрес файла.
|
||
Вот почему мы вообще не используем драйвер файловой системы из ядра, а
|
||
переписали его для выполнения в пользовательсмком пространстве.
|
||
<systemitem>libdvdread</systemitem> 0.9.x и <systemitem>
|
||
libmpdvdkit</systemitem> так и делают. Драйвер UDF
|
||
файловой системы не нужен, поскольку соответствующие драйвера встроены в эти библиотеки.
|
||
DVD также не обязан быть смонтированным, поскольку используется
|
||
только прямой посекторный доступ.
|
||
</para>
|
||
|
||
<para>
|
||
Иногда <filename>/dev/dvd</filename> не доступен на чтение рядовым пользователям,
|
||
поэтому авторы <systemitem>libdvdread</systemitem> написали
|
||
уровень эмуляции, который превращает секторные адреса в названия файла и смещение,
|
||
для эмуляции прямого доступа на замонтированной файловой системе или на жёстком
|
||
диске.
|
||
</para>
|
||
|
||
<para>
|
||
<systemitem>libdvdread</systemitem> даже позволяет указывать точку монтирования вместо
|
||
имени устройства для прямого доступа, и получает его название из <filename>
|
||
/proc/mounts</filename>. Этот метод придуман для Solaris, где данные названия
|
||
присваиваются динамически.
|
||
</para>
|
||
|
||
<formalpara>
|
||
<title>Расшифровка DVD</title>
|
||
<para>
|
||
Расшифровка DVD осуществляется библиотекой <systemitem>libdvdcss</systemitem>.
|
||
Метод может быть указан переменной окружения <envar>DVDCSS_METHOD</envar>,
|
||
подробную информацию смотрите на странице руководства man.
|
||
</para>
|
||
</formalpara>
|
||
|
||
|
||
<para>
|
||
С дисководами RPC-1, региональная защита осуществляется программно.
|
||
Дисководы RPC-2 защищены аппаратными средствами, разрешающими менять регион
|
||
всего 5 раз. Рекомендуется обновить прошивку[firmware] до RPC-1 если у тебя
|
||
RPC-2 привод. Обновления прошивок могут быть найдены на
|
||
<ulink url="http://www.firmware-flash.com/">странице прошивок</ulink>. Если
|
||
для Вашего дисковода нет обновления, используйте для изменения региона привода
|
||
<ulink url="http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz">
|
||
программу regionset</ulink> (для Linux). <emphasis role="bold">Внимание:
|
||
</emphasis> Изменить регион можно всего 5 раз.
|
||
</para>
|
||
</sect1>
|
||
|
||
<sect1 id="vcd">
|
||
<title>воспроизведение VCD</title>
|
||
<para>
|
||
Полный список возможных опций можно прочитать в man. Синтаксис для обычного
|
||
Видео-CD (VCD):
|
||
<screen>mplayer vcd://<replaceable><дорожка></replaceable> [-cdrom-device <replaceable><устройство></replaceable>]</screen>
|
||
Пример:
|
||
<screen>mplayer vcd://2 -cdrom-device /dev/hdc</screen>
|
||
Устройство VCD по умолчанию — <filename>/dev/cdrom</filename>. Если Ваши
|
||
настройки отличаются, создайте символическую ссылку добавьте правильное название
|
||
в командной строке после опции <option>-cdrom-device</option>.
|
||
</para>
|
||
|
||
<note><para>
|
||
По крайней мере Plextor'ы и некоторые Toshiba SCSI CD-ROM приводы показывают
|
||
ужасную производительность при чтении VCD'ов. Это объясняется тем, что
|
||
CDROMREADRAW <systemitem>ioctl</systemitem> на этих приводах реализован не полностью.
|
||
Если Вы имеете некоторые познания в сфере программирования SCSI, пожалуйста
|
||
<ulink url="../../tech/patches.txt">помогите нам</ulink> в написании поддержки
|
||
SCSI generic для VCD.
|
||
</para></note>
|
||
|
||
<para>
|
||
В настоящий момент Вы можете извлечь данные с VCD, используя
|
||
<ulink url="http://ftp.ntut.edu.tw/ftp/OS/Linux/packages/X/viewers/readvcd/">
|
||
readvcd</ulink>, и воспроизвести получившийся файл <application>MPlayer
|
||
</application>'ом.
|
||
</para>
|
||
|
||
<formalpara>
|
||
<title>структура VCD</title>
|
||
<para>
|
||
VCD составлен из секторов CD-ROM XA, т.е. дорожек CD-ROM mode 2 form 1 и form 2:
|
||
</para>
|
||
</formalpara>
|
||
|
||
<itemizedlist>
|
||
<listitem><para>
|
||
Первая дорожка записана в mode 2 form 2 формате, что, в частности, означает
|
||
использование коррекции ошибок L2. Дорожка содержит файловую систему ISO-9660 с
|
||
секторами по 2048 байт. Там содержатся метаданные VCD,
|
||
и картинки, часто использующиеся в меню. Здесь также могут храниться
|
||
фрагменты MPEG для меню, но каждый из них должен быть разбит на кусочки по
|
||
150 секторов. Еще файловая система может хранить файлы или программы,
|
||
не имеющие отношения к работе с VCD.
|
||
</para></listitem>
|
||
|
||
<listitem><para>
|
||
Вторая и остальные дорожки содержат MPEG-поток секторами по 2324 байта, по
|
||
одному пакету MPEG PS на сектор вместо файловой системы. Это дорожки в формате
|
||
mode 2 form 1 и хранять больше информации на один сектор за счет потери возможности
|
||
некоторой коррекции ошибок. После первой дорожки также допустимо присутствие
|
||
дорожки CD-DA. В некоторых ОС используются различные трюки, чтобы сделать эти
|
||
не-ISO-9660 дорожки видимыми в файловой системе. Но Linux - это не тот случай (пока).
|
||
Здесь MPEG данные <emphasis role="bold">не могут быть смонтированы</emphasis>.
|
||
(Вы когда-нибудь монтировали аудио диск
|
||
для того, чтобы его воспроизвести?) Так как большинство фильмов нахидотся именно на
|
||
таких дорожках, попробуйте сначала <option>vcd://2</option>.
|
||
</para></listitem>
|
||
|
||
<listitem><para>
|
||
Существуют VCD диски без первой дорожки (единственная дорожка без файловой
|
||
системы). Они проигрываются, но не монтируются.
|
||
</para></listitem>
|
||
|
||
<listitem><para> Описание стандарта Video CD называется
|
||
Philips "White Book" и, как правило, недоступна в онлайн, т.к. должа приобретаться
|
||
у Philips. Более подробная информация о Video CD может быть найдена в
|
||
<ulink url="http://www.vcdimager.org/pub/vcdimager/manuals/0.7/vcdimager.html#SEC4">vcdimager documentation</ulink>.
|
||
</para></listitem>
|
||
|
||
</itemizedlist>
|
||
|
||
<formalpara>
|
||
<title>Про файлы .DAT</title>
|
||
<para>
|
||
Файл примерно в 600 мегабайт на первой дорожке не настоящий! Это так
|
||
называемый ISO-переход, созданный, чтобы позволить Windows обрабатывать эти
|
||
дорожки (Windows вообще запрещает приложениям использовать прямой доступ
|
||
к устройствам). Под Linux Вы не можете копировать эти файлы (они выглядят, как
|
||
мусор). Под Windows это возможно, поскольку там iso9660 эмулирует прямой доступ
|
||
к дорожкам через этот файл. Чтобы проигрывать .DAT файл Вам нужен драйвер,
|
||
из Linux версии PowerDVD. Это модифицированный драйвер
|
||
iso9660 файловой системы (<filename>vcdfs/isofs-2.4.X.o</filename>), который
|
||
способен эмулировать прямой доступ к дорожкам через этот файл. Если Вы
|
||
замонтируете диск, используя их драйвер, Вы можете копировать и даже проигрывать
|
||
.DAT файлы <application>MPlayer</application>'ом. Но это не будет работать со
|
||
стандартным драйвером iso9660 из ядра Linux! Используйте вместо этого
|
||
<option>vcd://</option>. Альтернативами для копирования VCD может послужить новый
|
||
драйвер <ulink url="http://www.elis.rug.ac.be/~ronsse/cdfs/">cdfs</ulink> (не
|
||
входит в официальное ядро) который показывает дорожки[сессии] на диске как файлы
|
||
образов и <ulink url="http://cdrdao.sf.net/">cdrdao</ulink>, приложение для
|
||
побитового чтения/копирования CD.
|
||
</para>
|
||
</formalpara>
|
||
</sect1>
|
||
</chapter>
|