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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
|
<?xml version="1.0" encoding="utf-8"?>
<!-- synced with r28706 -->
<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 -a256 -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 CD-ROM приводов с помощью
<command>sdparm</command>, необходима версия 1.03 или выше:
<screen>sdparm --command=speed=<replaceable>[скорость в кБ/с]</replaceable> <replaceable>[устройство cdrom]</replaceable></screen>
Скорость должна быть указана в килобайтах в секунду, привод
округлит её надлежащим образом. Пожалуйста, обратитесь с странице
руководства sdparm для деталей.
</para>
<para>
There is also a dedicated tool that works for
<ulink url="http://das.ist.org/~georg/">Plextor SCSI drives</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.
Эти две библиотеки содержатся в дереве исходного кода
<application>MPlayer</application>'а, так что отдельно устанавливать их не нужно.
Вы также можете использовать уже установленные в системе версии библиотек, но это
<emphasis role="bold">не рекомендуется</emphasis>, так как может приводить к
ошибкам, несовместимости и потере скорости.
</para>
<note><para>
В случае проблем с декодированием DVD, попробуйте отключить supermount или
другие подобные удобства. Некоторые RPC-2 устройства могут требовать
уcтановку кода региона.
</para></note>
<formalpara>
<title>Расшифровка DVD</title>
<para>
Расшифровка DVD осуществляется библиотекой <systemitem>libdvdcss</systemitem>.
Метод может быть указан переменной окружения <envar>DVDCSS_METHOD</envar>,
подробную информацию смотрите на странице руководства man.
</para>
</formalpara>
<sect2 id="region_code">
<title>Региональный код</title>
<para>
Современные DVD приводы имеют дурацкое ограничение, называемое
<ulink url="http://ru.wikipedia.org/wiki/Код_зоны_DVD">региональным кодом</ulink>.
Это — способ заставить DVD приводы воспроизводить DVD диски, созданные для одного из
шести различных регионов, на которые разделен мир.
Как может группа людей сесть за стол, придумать подобное и
при этом ожидать, что мир 21-го века поклонится их воле — это
за пределами человеческого понимания.
</para>
<para>
Приводы, реализующие региональную защиту исключительно при помощи
программного обеспечения, известны как RPC-1 приводы, реализующие ее
аппаратно — RPC-2. RPC-2 приводы позволяют пять раз изменить код региона,
после чего он фиксируется навсегда. В Linux Вы можете воспользоваться
утилитой <ulink url="http://linvdr.org/projects/regionset/">regionset</ulink>
для установки регионального кода Вашего DVD привода.
</para>
<para>
К счастью, возможна переделка RPC-2 приводов в RPC-1, через
обновление прошивки. Укажите модель Вашего DVD привода в Вашем любимом
поисковике или посмотрите на форуме и разделах загрузок на
<ulink url="http://www.rpc1.org/">"Странице прошивок"</ulink>.
Хотя обычные предостережения, касающиеся обновления прошивки, остаются в силе,
опыт избавления от региональной защиты в основном положителен.
</para>
</sect2>
</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:
<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</ulink>.
</para></listitem>
</itemizedlist>
</para>
</formalpara>
<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>
|