6462
|
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
4867
|
2 <HTML>
|
5583
|
3
|
|
4 <HEAD>
|
7509
|
5 <TITLE>CD, DVD, VCD - MPlayer - Movie Player per Linux</TITLE>
|
6462
|
6 <LINK REL="stylesheet" TYPE="text/css" HREF="default.css">
|
|
7 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
|
5583
|
8 </HEAD>
|
|
9
|
6462
|
10 <BODY>
|
4867
|
11
|
|
12
|
8707
|
13 <H2><A NAME="drives">4.1. Lettori CD/DVD</A></H2>
|
4867
|
14
|
|
15 <P>Dalla documentazione di Linux:</P>
|
|
16
|
|
17 <P>Alcuni lettori CDROM sono capaci di cambiare la loro velocità. Ci sono varie
|
|
18 ragioni per cambiare la velocità di un CD-ROM. CDROM pressati male possono avere
|
|
19 benefici da una velocità minore della massima. I moderni lettori CDROM possono raggiungere
|
|
20 velocità molto alte (fino a 24-volte è comune). E' stato riportato che questi lettori
|
|
21 possono dare errori di lettura a queste alte velocità, ridurre la velocità può prevenire
|
|
22 perdite di dati in queste circostanze. In fine, alcuni di questi lettori possono
|
|
23 produrre un fastidioso rumore, che si può ridurre a velocità più basse.</P>
|
|
24
|
8707
|
25 <P>Per ridurre la velocità del lettore si può usare hdparm o un programma chiamato setcd.
|
|
26 Usali così:</P>
|
4867
|
27
|
8707
|
28 <P> <CODE>hdparm -E [velocità] [cdrom]</CODE></P>
|
4867
|
29 <P> <CODE>setcd -x [velocità] [cdrom]</CODE></P>
|
|
30
|
|
31 <P>Puoi anche provare:</P>
|
|
32
|
|
33 <P> <CODE>echo current_speed:4 >/proc/ide/[cdrom device]/settings</CODE></P>
|
|
34
|
8707
|
35 <P>ma devi avere i privilegi di root. Può aiutare anche il seguente comando:</P>
|
4867
|
36
|
|
37 <P> <CODE>echo file_readahead:2000000 >/proc/ide/[cdrom device]/settings</CODE></P>
|
|
38
|
|
39 <P>per leggere 2MB in anticipo dal file (è utile per i CDROM rigati).
|
8707
|
40 Se viene impostato ad un valore troppo alto, il lettore continuerà a girare e a
|
|
41 fermarsi, riducendo drasticamente la performance.
|
4867
|
42 Si consiglia anche di regolare il tuo lettore CDROM anche con hdparm:</P>
|
|
43
|
|
44 <P> <CODE>hdparm -d1 -a8 -u1 (cdrom device)</CODE></P>
|
|
45
|
|
46 <P>per abilitare l'accesso DMA, readahead, e l' IRQ unmasking.
|
|
47 (se non capisci, *leggi la pagina di man di hdparm*)</P>
|
|
48
|
|
49 <P>Per favore fai riferimento a "<CODE>/proc/ide/[cdrom device]/settings</CODE>" per una regolazione fine del
|
|
50 CDROM.</P>
|
|
51
|
8707
|
52 <P>I lettori SCSI non hanno un modo comune per regolare questi parametri (ne conosci
|
|
53 uno? Diccelo!) Esiste una utility che funziona con i
|
|
54 <A HREF="http://das.ist.org/~georg/">lettori SCSI Plextor</A>.</P>
|
|
55
|
|
56 <P>FreeBSD:</P>
|
|
57
|
|
58 <P> Velocità: <CODE>cdcontrol [-f device] speed [velocità]</CODE></P>
|
|
59 <P> DMA: <CODE>sysctl hw.ata.atapi_dma=1</CODE></P>
|
|
60
|
|
61
|
|
62 <H2><A NAME="dvd">4.2. Vedere i DVD</A></H2>
|
|
63
|
|
64 <P>Per la lista completa delle opzioni disponibili, leggete la pagina di man.</P>
|
|
65
|
|
66 <H4>Supporto DVD nuovo stile (mpdvdkit2)</H4>
|
4867
|
67
|
5994
|
68 <P><B>MPlayer</B> usa <CODE>libdvdread</CODE> e <CODE>libdvdcss</CODE> per
|
|
69 decifrare e leggere i DVD. Queste due librerie si trovano nella subdirectory
|
8707
|
70 <CODE>libmpdvdkit2/</CODE> dell'albero di <B>MPlayer</B>, non
|
5994
|
71 devi installarle separatamente. Abbiamo optato per questa soluzione perchè
|
|
72 abbiamo dovuto correggere un bug di libdvdread, e applicare una patch che aggiunge
|
8707
|
73 il <B>supporto al caching delle chiavi CSS crackate</B> per libdvdcss. Risulta un grande
|
|
74 aumento della velocità perchè le chiavi non devono essere crackate ogni volta
|
|
75 prima della riproduzione . Queste chiavi vengono conservate nella
|
5994
|
76 directory <CODE>$HOME/.mplayer/DVDKeys</CODE>.</P>
|
4867
|
77
|
8707
|
78 <P>MPlayer può anche utilizzare le librerie <CODE>libdvdread</CODE> e
|
|
79 <CODE>libdvdcss</CODE> installate nel sistema, ma questa soluzione <B>non</B> è
|
|
80 consigliata, in quanto possono risultare bug, incompatibilità di librerie, e minore velocità.</P>
|
|
81
|
|
82 <H4>Supporto DVD Navigation (dvdnav)</H4>
|
|
83
|
|
84 <P>Il supporto per DVD navigation attraverso <CODE>dvdnav</CODE> era in implementazione, ma
|
|
85 non è mai stato completato del tutto ed è quindi <B>sconsigliato</B>!</P>
|
|
86
|
|
87 <H4>Supporto DVD vecchio stile - <I>OPZIONALE</I></H4>
|
4867
|
88
|
8707
|
89 <P>Utile se vuoi leggere file VOB dall' hardisk. Compila e
|
|
90 installa <B>libcss</B> 0.0.1 (non più recente) (se <B>MPlayer</B> non lo trova,
|
|
91 usa l'opzione <CODE>-csslib /percorso/di/libcss.so</CODE>). Per usarlo,
|
|
92 devi essere root, usare un binario di Mplayer suid root o far richiamare ad MPlayer il programma
|
|
93 wrapper fibmap_mplayer che è suid root.</P>
|
|
94
|
|
95 <H4>Struttura dei DVD</H4>
|
|
96
|
|
97 <P>I dischi DVD hanno settori da 2048 byte/settore con ECC/CRC. Solitamente hanno un
|
|
98 filesystem UDF su una singola traccia, che contiene vari file (piccoli file .IFO e .BUK
|
|
99 e grandi (1GB) file .VOB). Questi sono veri file e possono essere copiati/riprodotti
|
|
100 dal filesystem montato di un DVD non criptato.</P>
|
4867
|
101
|
8707
|
102 <P>I file .IFO contengono le informazioni per la navigazione del film (capitoli/titoli/mappa
|
|
103 delle angolazioni, tabella delle lingue, ecc.) ed è necessario per leggere ed interpretare il
|
|
104 contenuto .VOB (film). I file .BUK sono i loro backup. Usano i <B>settori</B> ovunque,
|
|
105 quindi bisogna usare il puro indirizzamento dei settori del disco per implementare la navigazione
|
|
106 dei DVD navigation. Questo è necessario anche per decrittare il contenuto.</P>
|
|
107
|
|
108 <P>L'intero supporto DVD vecchio stile con libcss deve quindi avere il filesystem del DVD
|
|
109 montato e l'accesso a basso livello ai settori della device. Sfortunatamente devi essere root
|
|
110 (sotto Linux) per avere l'indirizzo del settore di un file. Hai quindi le seguenti
|
|
111 possibilità:</P>
|
4867
|
112
|
8707
|
113 <UL>
|
|
114 <LI>Essere root o usare un binario di mplayer suid-root.</LI>
|
|
115 <LI>Far chiamare ad MPlayer il programma wrapper fibmap_mplayer (che è suid root) per accedere
|
|
116 al DVD (usato col metodo che utilizzava libcss).</LI>
|
|
117 <LI>Non usare per nulla il driver di filesystem del kernel e reimplementarlo in
|
|
118 userspace. libdvdread 0.9.x e libmpdvdkit fanno questo (supporto DVD
|
|
119 nuovo stile). Il driver per il filesystem udf del kernel non è necessario in quanto
|
|
120 hanno già il proprio driver per l'udf. Inoltre il dvd non deve essere montato
|
|
121 in quanto viene usato solo l'accesso a basso livello ai settori.</LI>
|
|
122 </UL>
|
|
123
|
|
124 <P>A volte /dev/dvd non può essere letto dagli utenti, quindi gli autori di libdvdread
|
|
125 hanno implementato un livello di emulazione che trasferisce gli indirizzi dei settori in
|
|
126 nomifile+offset, per simulare un accesso a basso livello su un filesystem montato
|
|
127 o anche su un hard disk.</P>
|
|
128
|
|
129 <P>libdvdread accetta anche il punto di mount al posto del nome del dispositivo
|
|
130 e controlla in <CODE>/proc/mounts</CODE> per ottenere il nome del device. E' stato
|
|
131 sviluppato per Solaris, dove i nomi dei dispositivi sono assegnati dinamicamente.</P>
|
5994
|
132
|
8707
|
133 <P>Il dispositivo DVD di default è <CODE>/dev/dvd</CODE>. Se la tua impostazione è diversa,
|
|
134 fai un symlink, o specifica la device corretta alla riga di comando con l'opzione
|
|
135 <CODE>-dvd-device</CODE>.</P>
|
|
136
|
|
137 <H4>Autenticazione del DVD</H4>
|
5994
|
138
|
8707
|
139 <P>Il metodo di autenticazione e decrittazione del supporto DVD nuovo stile usa
|
|
140 un libdvdcss modificato (vedi sopra). Il metodo può essere specificato con
|
|
141 la variabile d'ambiente <CODE>DVDCSS_METHOD</CODE> che può avere i valori
|
|
142 <CODE>key</CODE>, <CODE>disk</CODE> o <CODE>title</CODE>.</P>
|
|
143
|
|
144 <P>Se non è specificato nulla vengono provati i seguenti metodi
|
|
145 (default: key, title request):</P>
|
4867
|
146
|
8707
|
147 <OL>
|
|
148 <LI><B>bus key:</B> Questa chiave è negoziata durante l'autenticazione (un lungo miscuglio
|
|
149 di ioctls e vari scambi di chiavi, roba crittografica) ed è usata per criptare le chiavi
|
|
150 del titolo e del disco prima di mandarle sul bus non protetto
|
|
151 (per prevenire l'eavesdropping). La chiave del bus è necessaria per ottenere e pre-decriptare
|
|
152 la chiave del disco.</LI>
|
|
153 <LI><B>cached key:</B> MPlayer cerca chiavi di titolo eventualmente già scoperte
|
|
154 che sono salvate nella directory <CODE>~/.mplayer/DVDKeys</CODE>
|
|
155 (veloce ;).</LI>
|
|
156 <LI><B>key:</B> Se non è disponibile nessuna chiave già salvata, MPlayer prova a decriptare
|
|
157 la chiave del disco con un insieme di chiavi incluse.</LI>
|
|
158 <LI><B>disk:</B> Se il metodo della chave fallisce (es. nessuna chiave inclusa),
|
|
159 MPlayer romperà la chiave del disco usando un algoritmo a forza bruta.
|
|
160 Questo processo consuma molta CPU e richiede 64 MB di memoria (tabella di hash
|
|
161 da 16M con 32bit di elementi) per salvare i dati temporanei. Questo metodo dovrebbe funzionare
|
|
162 sempre (lento).</LI>
|
|
163 <LI><B>title request:</B> Con la chiave del disco MPlayer richiede le chiavi criptate
|
|
164 del titolo, che sono contenute in <I>settori nascosti</I> usando <CODE>ioctl()</CODE>.
|
|
165 La protezione regionale dei lettori RPC-2 avviene a questo passaggio e potrebbe fallire
|
|
166 su queto tipo di lettori. Se ha successo, le chiavi del titolo verranno decripttate usando
|
|
167 la chiave del bus e la chiave del disco.</LI>
|
|
168 <LI><B>title:</B> Questo metodo è usato se fallisce la title request e non si
|
|
169 basa sullo scambio di chiavi con il lettore DVD. Usa un attacco criptografico per
|
|
170 indovinare direttamente la chiave del titolo (trovando un modello che si ripete nel contenuto
|
|
171 VOB e supponendo che il testo in chiaro dei primi byte criptati siano una continuazione
|
|
172 di quel modello).
|
|
173 Il metodo è conosciuto anche come "known plaintext attack" o "DeCSSPlus".
|
|
174 In rari casi può fallire perchè non ci sono abbastanza dati criptati sul disco
|
|
175 per implementare un attacco statistico o perchè la chiave cambia nel mezzo di un titolo.
|
|
176 D'altra parte è l'unico modo per decriptare un DVD
|
|
177 salvato su un hard disk o un DVD con la regione sbagliata su un lettore RPC2
|
|
178 (lento).</LI>
|
|
179 </OL>
|
4867
|
180
|
8707
|
181 <P>I lettori DVD RPC-1 proteggono le impostazioni regionali solo su lettori DVD software.
|
|
182 I lettori RPC-2 hanno una protezione hardware che permette solo 5 cambiamenti. Potrebbe
|
|
183 essere necessario/consigliato aggiornare il firmware a RPC-1 se hai un lettore DVD RPC-2.
|
|
184 Aggiornamenti del firmware possono essere trovati
|
|
185 <A HREF="http://www.firmware-flash.com">qui</A>. Se non c'è un aggiornamento
|
|
186 del firmware per il tuo lettore, usa l'applicazione
|
|
187 <A HREF="http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz">regionset</A>
|
|
188 per impostare il codice regionale del tuo lettore DVD (sotto Linux).
|
|
189 <B>Attenzione:</B> Si può impostare la regione solo 5 volte.</P>
|
4867
|
190
|
7509
|
191 <H2><A NAME="vcd">4.3 Vedere i VCD</A></H2>
|
|
192
|
8707
|
193 <P>Per la lista completa delle opzioni disponibili, leggete la pagina di man.
|
|
194 La sintassi per vedere i Video CD standard (VCD) è la seguente:</P>
|
4867
|
195
|
7509
|
196 <P>
|
|
197 mplayer -vcd <I>numerotraccia</I> [-cdrom-device device]<BR><BR>
|
|
198 Esempi:<BR>
|
|
199 mplayer -vcd 1<BR>
|
|
200 mplayer -fs -vcd 2 -cdrom-device /dev/hdc<BR>
|
4867
|
201 </P>
|
|
202
|
8707
|
203 <P><B>Nota:</B> Almeno i Plextor e alcuni CD-ROM SCSI della Toshiba hanno
|
|
204 terribili prestazioni nella lettura dei VCD. Questo perchè l'ioctl CDROMREADRAW
|
|
205 non è del tutto implementato per questi lettori. Se hai conoscenze nella programmazione SCSI,
|
|
206 per favore <A HREF="tech/patches.txt">aiutaci</A> ad implementare il supporto
|
|
207 SCSI generico per i VCD.</P>
|
|
208
|
|
209 <H4>Struttura dei VCD</H4>
|
|
210
|
|
211 <P>I dischi VCD contengono una o più tracce:</P>
|
|
212
|
|
213 <UL>
|
|
214 <LI>La prima è una piccola traccia da 2048 byte/settore, con un filesystem iso9660,
|
|
215 contenente di solito programmi win32 per la riproduzione di VCD e a volte altre informazioni
|
|
216 (jpeg, testi, ecc).</LI>
|
|
217 <LI>La seconda e le successive tracce sono pure tracce mpeg da 2324 byte/settore, senza
|
|
218 alcun filesystem ma puri dati mpeg ps, un pacchetto per settore. Questi contengono il
|
|
219 film... Le tracce <B>non possono essere montate</B>! E' come con le tracce audio
|
|
220 (es. Tu non hai mai montato un cd audio per leggerlo, vero?).
|
|
221 Dato che di solito i film sono contenuti nella traccia due, dovresti provare
|
|
222 l'opzione <CODE>-vcd 2</CODE> per prima.</LI>
|
|
223 <LI>Esistono anche dischi VCD senza la prima traccia (traccia singola e privi
|
|
224 di qualunque filesystem). Sono sempre leggibili, ma non possono essere montati.</LI>
|
|
225 </UL>
|
|
226
|
|
227 <P>Circa i file .DAT:</P>
|
|
228
|
|
229 <P>Il file da ~600 MB visibile sulla prima traccia vcd montato non è un vero file!
|
|
230 E' un così detto iso gateway, creato per permettere a Windows di gestire quel tipo di tracce
|
|
231 (Windows non consente assolutamente alle applicazioni un accesso a basso livello ai dispositivi).
|
|
232 Sotto linux, non puoi copiare o riprodurre tali file (contengono schifezze).
|
|
233 Sotto Windows è possibile perchè il suo driver iso9660 emula la lettura delle tracce pure
|
|
234 in questo file. Per riprodurre un file .DAT devi usare un driver del kernel che si può
|
|
235 trovare nella versione Linux di PowerDVD. Ha un driver per il filesystem iso9660 modificato
|
|
236 (vcdfs/isofs-2.4.X.o). Se monti il disco col loreo driver puoi copyare e riprodurre
|
|
237 il file .DAT con mplayer. Ma <B>non funzionerà</B>
|
|
238 col driver iso9660 standard contenuto nel kernel! Si consiglia invece di usare l'opzione
|
|
239 <CODE>-vcd</CODE>. Altre opzioni per la copia dei VCD sono
|
|
240 il nuovo driver del kernel <A HREF="http://www.elis.rug.ac.be/~ronsse/cdfs/">cdfs</A>
|
|
241 (mostra le <I>sessioni</I> del CD come file di immagine) e
|
|
242 <A HREF="http://cdrdao.sourceforge.net/">cdrdao</A> (un'applicazione che fa una copia bit-a-bit
|
|
243 dei cd).</P>
|
|
244
|
|
245 <P> Il dispositivo VCD di default è /dev/cdrom. Se il dispositivo è diverso, allora devi fare un
|
|
246 link simbolico, o specificarlo dalla linea di comando con l'opzione <CODE>-cdrom-device</CODE>.
|
7509
|
247 </P>
|
4867
|
248
|
|
249 </BODY>
|
|
250 </HTML>
|