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
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
|
<?xml version="1.0" encoding="iso-8859-1"?>
<chapter id="cd-dvd">
<title>Uso de CD/DVD</title>
<sect1 id="drives">
<title>Unidades de CD/DVD</title>
<para>
Extracto de documentación de Linux:
</para>
<para>
Las unidades de CD-ROM modernas pueden alcanzar velocidades de lectura
muy altas, a pesar de ello algunas unidades de CD-ROM son capaces de
funcionar a velocidades reducidas. Hay varias razones que pueden hacer
considerar cambiar la velocidad de la unidad de CD-ROM:
</para>
<itemizedlist>
<listitem><para>
Ha habido varios informes de errores de lectura a velocidades altas,
especialmente en unidades de CD-ROM en mal estado. Reducir la velocidad
puede prevenir la pérdida de datos bajo estas circunstancias.
</para></listitem>
<listitem><para>
Algunas unidades de CD-ROM son molestamente ruidosas, a menor velocidad
se puede reducir el ruido.
</para></listitem>
</itemizedlist>
<para>
Puede reducir la velocidad de las unidades de CD-ROM IDE con
<command>hdparm</command> o con un programa llamado <command>setcd</command>.
Funciona de la siguiente manera:
<screen>hdparm -E <replaceable>[velocidad]</replaceable> <replaceable>[dispositivo de cdrom]</replaceable></screen>
<screen>setcd -x <replaceable>[velocidad]</replaceable> <replaceable>[dispositivo cdrom]</replaceable></screen>
</para>
<para>
También puede probar
<screen>echo current_speed:4 > /proc/ide/<replaceable>[cdrom device]</replaceable>/settings</screen>
pero necesita privilegios de administrador. La siguiente órden también le puede
ser de ayuda:
<screen>echo file_readahead:2000000 > /proc/ide/<replaceable>[cdrom device]</replaceable>/settings</screen>
</para>
<para>
Esto establece prelectura de 2MB del archivo, lo cual ayuda en CD-ROMs rayados.
Si establece un valor demasiado alto, la unidad puede estar contínuamente
girando y parando, y puede decrementar dramáticamente el rendimiento.
Se recomienda que también afine su unidad de CD-ROM con <command>hdparm</command>:
<screen>hdparm -d1 -a8 -u1 <replaceable>cdrom device</replaceable></screen>
</para>
<para>
Esto activa el acceso DMA, pre-lectura, y desenmascarado de IRQ (lea la página
de manual de <command>hdparm</command> para una explicación detallada).
</para>
<para>
Por favor, diríjase a "<filename>/proc/ide/<replaceable>cdrom device</replaceable>/settings"</filename>
para ajuste-fino de su CD-ROM.
</para>
<para>
Las unidades SCSI no tienen una manera uniforme para estableces estos
parámetros (¿conoce alguna? ¡Díganoslo!) Aquí hay una herramienta que funciona
para
<ulink url="http://das.ist.org/~georg/">unidades Plextor SCSI</ulink>.
</para>
<para>FreeBSD:</para>
<para>Speed: <command>cdcontrol [-f <replaceable>dispositivo</replaceable>] speed <replaceable>velocidad</replaceable></command></para>
<para>DMA: <command>sysctl hw.ata.atapi_dma=1</command></para>
</sect1>
<sect1 id="dvd">
<title>Reproducción de DVD</title>
<para>
Para una lista completa de opciones disponibles, lea por favor la página de manual.
La Sintaxis para un Disco Versátil Digital (DVD) estándar es la siguiente:
<screen>mplayer dvd://<replaceable><pista></replaceable> [-dvd-device <replaceable><dispositivo></replaceable>]</screen>
</para>
<para>
Ejemplo:
<screen>mplayer dvd://1 -dvd-device /dev/hdc</screen>
</para>
<para>
El dispositivo DVD por defecto es <filename>/dev/dvd</filename>. Si su
configuración es diferente, haga un enlace simbólico o especifique el
dispositivo correcto en la línea de órdenes con la opción
<option>-dvd-device</option>.
</para>
<formalpara>
<title>Soporte para el DVD de Nuevo-estilo (mpdvdkit2)</title>
<para>
<application>MPlayer</application> usa <systemitem>libdvdread</systemitem> y
<systemitem>libdvdcss</systemitem> para desencriptación y reproducción. Estas
dos bibliotecas están contenidas en el subdirectorio
<filename class="directory">libmpdvdkit2/</filename>
del árbol de código fuente de MPlayer, no tiene que instalarlo por separado.
Hemos optado por esta solución porque hemos corregido un error de
<systemitem>libdvdread</systemitem> y aplicado un parche que añade
<emphasis role="bold">soporte para cacheo de claves CSS crackeadas</emphasis> para
<systemitem>libdvdcss</systemitem>. Esto resulta en un gran incremento de
velocidad porque las claves no tienen que ser crackeadas cada vez que se
reproduce.
</para>
</formalpara>
<para>
<application>MPlayer</application> puede usar también bibliotecas
<systemitem>libdvdread</systemitem> del sistema y <systemitem>libdvdcss</systemitem>,
pero esta solución <emphasis role="bold">no</emphasis> se recomienda, porque puede
resultar en fallos, incompatibilidades de bibliotecas y velocidad más lenta.
</para>
<formalpara>
<title>Soporte para DVD al viejo-estilo - OPCIONAL</title>
<para>
Útil si quiere reproducir VOBs codificados desde
<emphasis role="bold">disco duro</emphasis>.
Compile e instale <emphasis role="bold">libcss</emphasis> 0.0.1 (no posterior) para
esto (Si MPlayer falla en la autodetección, use la opción
<option>-csslib /ruta/a/libcss.so</option>). Para usarlo, necesita ser root, use
un binario de MPlayer suid root o deje que MPlayer llame al programa falseador
fibmap_mplayer suid-root.
</para>
</formalpara>
<formalpara>
<title>Estructura de DVD</title>
<para>
Los discos de DVD tienen 2048 bytes por sector con ECC/CRC. Normalmente tienen
un sistema de archivos UDF en una pista simple, conteniendo varios archivos
(archivos pequeños .IFO y .BUK y archivos grandes (1GB) .VOB). Son archivos
reales y pueden ser copiados/reproducidos desde un sistema de archivos montado
de un DVD sin encriptar.
</para>
</formalpara>
<para>
Los archivos .IFO contienen la información de navegación por la película
(capítulos/títulos/mapas de ángulos, tablas de idiomas, etc) y son necesarios
para leer e interpretar el contenido del .VOB (la película). Los archivos
.BUK son copias de seguridad de estos. Usan <emphasis role="bold">sectores</emphasis>
por todos sitios, por lo que necesita usar direccionamiento crudo de sectores
del disco para implementar navegación DVD o desencriptar el contenido.
</para>
<para>
El soporte completo de DVD al viejo-estilo con <systemitem>libcss</systemitem>
necesita un sistema de archivos de DVD montado y un acceso basado-en-sectores
al dispositivo. Desafortunadamente debe (bajo Linux) ser root para obtener
direccionamiento por sectores de un archivo. Tiene las siguientes opciones:
<itemizedlist>
<listitem><para>
Ser root o usar un binario de <application>MPlayer</application> suid-root.
</para></listitem>
<listitem><para>
Dejar que <application>MPlayer</application> llame al programa falseador
fibmap_mplayer suid-root para acceder al DVD (usado en la reproducción de
DVD al viejo-estilo sobre <systemitem>libcss</systemitem>).
</para></listitem>
<listitem><para>
No use el controlador de sistema de archivos del kernel y lo reimplemente en
el estacio de usuario. <systemitem>libdvdread</systemitem> 0.9.x y
<systemitem>libmpdvdkt</systemitem> necesitan tener su propio controlador
de sistema de archivos UDF interno. Además el DVD no ha de estar montado
para acceso únicamente basado en sectores.
</para></listitem>
</itemizedlist>
</para>
<para>
Algunas veces <filename>/dev/dvd</filename> no puede ser leído por los
usuarios, por lo que los autores de <systemitem>libdvdread</systemitem>
han implementado una capa de emulación que transfiere el direccionamiento
por sectores a nombres de archivo + desplazamiento, para emular un acceso
crudo sobre un sistema de archivos montado o incluso en un disco duro.
</para>
<para>
<systemitem>libdvdread</systemitem> incluso acepta un punto de montaje
en lugar del nombre del dispositivo para acceso crudo y comprueba
<filename>/proc/mounts</filename> para obtener el nombre del dispositivo.
Esto ha sido desarrollado por Solaris, donde los nombres de los
dispositivos son asignados dinámicamente.
</para>
<para>
El dispositivo por defecto de DVD es <filename>/dev/dvd</filename>. Si su
configuración no coincide con esto, haga un enlace simbólico, o especifique
el dispositivo correcto en la línea de órdenes con la opción
<option>-dvd-device</option>.
</para>
<formalpara>
<title>Autenticación para DVD</title>
<para>
La autenticación y el método de desencriptación del soporte de DVD al
nuevo-estilo se ha hecho usando una versión modificada de
<systemitem>libdvdcss</systemitem> (vea más arriba). Este método peude ser
especificado a través de la variable de entorno <envar>DVDCSS_METHOD</envar>,
que puede ser establecido a key, disk o title.
</para>
</formalpara>
<para>
Si no se especifica nada se prueban los siguientes métodos (por defecto:
key, petición de título):
</para>
<orderedlist>
<listitem><para>
<emphasis role="bold">bus key</emphasis>: Esta clave es negociada durante
la autenticación (una larga mezcla de ioctls y varios intercambios de
claves, material de encriptación) y es usada para encriptar el título y
las claves de disco antes de enviarlas sobre el bus sin proteger
(para prevenir robos de claves). El bus key necesita obtener y
predesencriptar la clave encriptada de disco.
</para></listitem>
<listitem><para>
<emphasis role="bold">cached key</emphasis>: <application>MPlayer</application>
mira a ver si el título ya ha sido crackeado con una clave almacenada en el
directorio <filename class="directory">~/.mplayer/DVDKeys</filename> (rápido ;).
</para></listitem>
<listitem><para>
<emphasis role="bold">key</emphasis>: Si no hay una clave disponible en caché,
<application>MPlayer</application> intenta desencriptar la clave del disco con
un conjunto de claves de reproductor incluidas.
</para></listitem>
<listitem><para>
<emphasis role="bold">disk</emphasis>: Si el método key falla (p.e. no hay
claves de reproductor incluídas), <application>MPlayer</application>
crackeará la clave del disco usando un algoritmo de fuerza bruta. Este proceso
usa la CPU de manera intensiva y requiere 64 MB de memoria (una tabla hash de
16M 32Bit entradas) para almacenamiento temporal de datos. Este método debe
funcionar siempre (lento).
</para></listitem>
<listitem><para>
<emphasis role="bold">title request</emphasis>: Con la clave del disco
<application>MPlayer</application> pide las claves encriptadas de los
títulos que están dentro de <emphasis>sectores escondidos</emphasis> usando
<systemitem>ioctl()</systemitem>. La protección por región de unidades
RPC-2 se hace en este paso y puede fallas en algunas unidades de disco.
Si funciona bien, las claves de títulos son desencriptadas con las claves
de bus y de disco.
</para></listitem>
<listitem><para>
<emphasis role="bold">title</emphasis>: Este método es usado si la
búsqueda de título falla y no sale en ningun intercambio de clave
con la unidad de DVD. Usa un ataque de encriptación para buscar
la clave del título directamente (encontrando un patrón que se
repita en el contenido del VOB desencriptado y comprobando que
el texto plano corresponde a los primeros bytes encriptados como
una continuación del patrón). El método es también conocido como
"ataque de texto plano conocido" o "DeCSSPlus".
En raras ocasiones esto falla porque no hay suficientes datos
desencriptados en el disco para realizar un ataque estadístico
o porque las claves cambian en mitad de un título. Este método es la
única manera de desencriptar un DVD almacenado en un disco duro o en
un DVD con la región incorrecta en una unidad RPC2 (lento).
</para></listitem>
</orderedlist>
<para>
Las unidades de DVD RPC-1 solo protegen la configuración de región a través
de software. Las unidades RPC-2 tienen una protección por hardware que
permite tan solo 5 cambios. Puede ser necesario/recomendable actualizar el
firmware a RPC-1 si tiene una unidad RPC-2. Las actualizaciones de
firmware puede encontrarse en esta
<ulink url="http://www.firmware-flash.com">página del firmware</ulink>.
Si no hay una actualización del firmware disponible para su dispositivo, use la
<ulink url="http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz">herramienta regionset</ulink>
para establecer el código de región de su unidad de DVD (bajo Linux).
<emphasis role="bold">Advertencia</emphasis>: Solo puede establecer la región 5 veces.
</para>
</sect1>
<sect1 id="vcd">
<title>Reproducción de VCD</title>
<para>
Para una lista completa de las opciones disponibles, lea por favor la página de manual. La
sintaxis para un Video CD (VCD) estándar es la siguiente:
<screen>mplayer vcd://<replaceable><track></replaceable> [-cdrom-device <replaceable><device></replaceable>]</screen>
Ejemplo:
<screen>mplayer vcd://2 -cdrom-device /dev/hdc</screen>
El dispositivo para VCD Por defecto es <filename>/dev/cdrom</filename>.
Si su configuracio no coincide con esto, haga un enlace simbólico o
especifique el dispositivo correcto en la línea de órdenes con la
opción <option>-cdrom-device</option>.
</para>
<note><para>
Al menos las unidades de CD-ROM SCSI Plextor y algunas Toshiba tienen un
rendimiento horrible leyendo VCDs. Esto es porque el <systemitem>ioctl</systemitem>
CDROMREADRAW no está completamente implementado en estas unidades. Si tiene
conocimientos sobre la programación SCSI, por favor
<ulink url="../../tech/patches.txt">ayúdenos</ulink> a implementar soporte SCSI
genérico para VCDs.
</para></note>
<para>
En la actualidad puede extraer datos desde VCDs con
<ulink url="http://140.132.1.204/OS/Linux/packages/X/viewers/readvcd/">readvcd</ulink>
y reproducir el archivo resultante con <application>MPlayer</application>.
</para>
<formalpara>
<title>Estructura de un VCD</title>
<para>Los discos de VCD consisten en una o más pistas:</para>
</formalpara>
<itemizedlist>
<listitem><para>
La primera piesta es una pista pequeña de datos 2048 bytes/sector con
un sistema de archivos iso9660, normalmente conteniendo programas reproductores
de VCD para Windows o quizá alguna otra información (imágenes, texto, etc).
</para></listitem>
<listitem><para>
La segunda y otras pistas son 2324 bytes/sector crudas de MPEG (película),
conteniendo un paquete de datos MPEG PS por sector en lugar de un sistema
de archivos. De manera similar a las pistas de CD de audio, estas pistas
<emphasis role="bold">no pueden ser montadas</emphasis> (¿Alguna vez ha
montado un CD de audio para reproducirlo?).
Como las películas están dentro de esta pista, debería probar <option>vcd://2</option>
primero.
</para></listitem>
<listitem><para>
Existen discos de VCD sin la primera pista (pista simple y sin ningún sistema
de archivos). Siguen siendo reproducibles, pero no pueden ser montadas.
</para></listitem>
</itemizedlist>
<formalpara>
<title>Acerca de los archivos .DAT</title>
<para>
Los archivos visibles de ~600 MB en la primera pista de un VCD montado ¡no son
archivos reales! Son llamadas puertas de acceso ISO, creadas para permitir a
Windows administrar estas pistas (Windows no permite acceso crudo al dispositivo
en ninguna de sus aplicaciones). Bajo Linux no puede copiar o reproducir estos
archivos (solo contienen basura). Bajo Windows es posible que el controlador
iso9660 emule lectura cruda de las pistas en estos archivos. Para reproducir
un archivo .DAT necesita el controlador del kernel que se encuentra en la
versión para Linux de PowerDVD. Contiene un controlador de sistema de archivos iso9660
modificado (<filename>vcdfs/isofs-2.4.X.o</filename>), que permite emular las
pistas crudas a través de este archivo de sombra .DAT. Si monta el disco usando
ese controlador, puede copiar e incluso reproducir los archivos .DAT con
<application>MPlayer</application>. ¡Pero no funciona con el controlador estandar
iso9660 del kernel de Linux! Use <option>vcd://</option> en su lugar. Alternativas
para copiar un VCD son los nuevos controladores del kernel
<ulink url="http://www.elis.rug.ac.be/~ronsse/cdfs/">cdfs</ulink> (que no forman
parte del kernel oficialmente) que muestran sesiones de CD como archivos de imagen y
<ulink url="http://cdrdao.sourceforge.net/">cdrdao</ulink>, un programa para
grabar/copiar CD bit-por-bit.
</para>
</formalpara>
</sect1>
</chapter>
|