<?xml version="1.0" encoding="utf-8"?>
<!-- synced with r23690 -->
<chapter id="cd-dvd">
<title>Utilizzo CD/DVD</title>

<sect1 id="drives">
<title>Lettori CD/DVD</title>

<para>
I lettori CD-ROM recenti possono raggiungere velocità molto alte, ma molti
lettori sono capaci di girare a velocità ridotte. Ci sono diversi motivi che
possono farti pensare di cambiare la velocità di un'unità CD-ROM:
</para>

<itemizedlist>
<listitem><para>
  Ci sono state notifiche di errori di lettura ad alte velocità, specialmente
  con CD-ROM malamente pressati. Ridurre la velocità può prevenire la
  perdita di dati in queste circostanze.
</para></listitem>

<listitem><para>
  Molti lettori CD-ROM sono fastidiosamente rumorosi, una minor velocità
  può ridurre il rumore.
</para></listitem>
</itemizedlist>

<!-- ********** -->

<sect2 id="drives_linux">
<title>Linux</title>

<para>
Puoi diminuire la velocità delle unità CD-ROM IDE con
<command>hdparm</command>, <command>setcd</command> o <command>cdctl</command>.
Funziona così:
<screen>hdparm -E <replaceable>[velocità]</replaceable> <replaceable>[dispositivo cdrom]</replaceable></screen>
<screen>setcd -x <replaceable>[velocità]</replaceable> <replaceable>[dispositivo cdrom]</replaceable></screen>
<screen>cdctl -bS <replaceable>[velocità]</replaceable></screen>
</para>

<para>
Se stai usando l'emulazione SCSI, puoi dover applicare le impostazioni al
lettore IDE reale, e non al dispositivo emulato come SCSI.
</para>

<para>
Se hai i privilegi di root può essere di aiuto anche il comando seguente:
<screen>echo file_readahead:2000000 &gt; /proc/ide/<replaceable>[dispositivo cdrom]</replaceable>/settings</screen>
</para>

<para>
<screen>hdparm -d1 -a8 -u1 <replaceable>[dispositivo cdrom]</replaceable></screen>
Ciò imposta la lettura in prefetch dei file a 2MB, che aiuta con CD-ROM
graffiati. Se la imposti troppo alta, il lettore continuerà ad aumentare e
diminuire la velocità, e le prestazioni diminuiranno drasticamente.
Si raccomanda di regolare il tuo lettore CD-ROM anche con
<command>hdparm</command>:
<screen>hdparm -d1 -a8 -u1 <replaceable>[dispositivo cdrom]</replaceable></screen>
</para>

<para>
Questo abilita l'accesso in DMA, la pre-lettura, e la mascheratura IRQ (leggi
la pagina man di <command>hdparm</command> per una spiegazione dettagliata).
</para>

<para>
Per favore fai riferimento a
"<filename>/proc/ide/<replaceable>[dispositivo cdrom]</replaceable>/settings</filename>"
per regolare con precisione il tuo CD-ROM.
</para>

<para>
I lettori SCSI non hanno un modo uniforme di impostare questi parametri (ne
conosci uno? diccelo!). C'è uno strumento che funziona con i
<ulink url="http://das.ist.org/~georg/">lettori SCSI Plextor</ulink>.
</para>
</sect2>

<!-- ********** -->

<sect2 id="drives_freebsd">
<title>FreeBSD</title>

<para>velocità:
<screen>
cdcontrol [-f <replaceable>dispositivo</replaceable>] speed <replaceable>[velocità]</replaceable>
</screen>
</para>

<para>DMA:
<screen>
sysctl hw.ata.atapi_dma=1
</screen>
</para>

</sect2>

</sect1>


<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->


<sect1 id="dvd">
<title>Riproduzione DVD</title>

<para>
Per una lista completa delle opzioni disponibili per favore leggi la pagina man.
La sintassi per riprodurre un DVD normale è la seguente:
<screen>
mplayer dvd://<replaceable>&lt;traccia&gt;</replaceable> [-dvd-device <replaceable>&lt;dispositivo&gt;</replaceable>]
</screen>
</para>

<para>
Esempio:
<screen>mplayer dvd://1 -dvd-device /dev/hdc</screen>
</para>

<para>
Se hai compilato <application>MPlayer</application> con il supporto per dvdnav,
la sintassi è la stessa, tranne che devi usare dvdnav:// invece di dvd://.
</para>

<para>
Il dispositivo DVD di default è <filename>/dev/dvd</filename>. Se la tua
impostazione è diversa, crea un collegamento simbolico o indica il dispositivo
giusto dalla riga comando con l'opzione <option>-dvd-device</option>.
</para>

<para>
<application>MPlayer</application> usa <systemitem>libdvdread</systemitem> e
<systemitem>libdvdcss</systemitem> per la riproduzione e la decrittazione dei
DVD. Queste due librerie sono contenute nei sorgenti di
<application>MPlayer</application>, non hai bisogno di installarle
separatamente. Puoi anche usare le controparti di sistema delle due librerie,
ma questa non è la soluzione raccomandata, in quanto può portare a bachi,
incompatibilità di librerie e minor velocità.
</para>

<note><para>
Nel caso di problemi di decodifica di DVD, prova a disabilitare il supermount,
o qualsiasi altra utilità. Alcuni lettori RPC-2 possono anche aver bisogno di
avere il codice di zona impostato.
</para></note>

<formalpara>
<title>Struttura DVD</title>
<para>
I dischi DVD hanno 2048 byte per settore con ECC/CRC. Di solito hanno un
filesystem UDF su una sola traccia, contenente svariati file (piccoli file
.IFO e .BUP e grossi (1GB) file .VOB). Questi sono file veri e possono esser
copiati/riprodotti dal filesystem montato di un DVD non criptato.
</para>
</formalpara>

<para>
I file .IFO contengono le informazioni per navigare nel film
(capitoli/titoli/angolazioni, tabella lingue, etc) e sono necessari per leggere
ed interpretare il contenuto .VOB (il film). I file .BUP sono dei loro backup.
Usano <emphasis role="bold">sectors</emphasis> dappertutto, per cui hai bisogno
di usare un indirizzamento dei settori del disco a basso livello per
implementare la navigazione DVD o decrittarne il contenuto.
</para>

<para>
Il supporto per DVD ha bisogno di un accesso di basso livello basato su settori
al dispositivo. Sfortunatamente devi (sotto Linux) essere root per ottenere
l'indirizzamento del settore in un file. Per questo non usiamo proprio il
filesystem del kernel, piuttosto lo reimplementiamo nello spazio utente di
esecuzione. <systemitem>libdvdread</systemitem> 0.9.x fa ciò. Non serve il
driver del kernel per il filesystem UDF visto che ha già il suo driver
integrato per il filesystem UDF. Inoltre non serve che il DVD sia montato visto
che viene utilizzato solo l'accesso di basso livello a settori.
</para>

<para>
Alcune volte <filename>/dev/dvd</filename> non può esser letto dagli utenti,
perciò gli autori di <systemitem>libdvdread</systemitem> hanno implementato un
livello di emulazione che traduce gli indirizzi dei settori in
nomifile+posizioni relative, per emulare un accesso di basso livello su di un
filesystem montato o anche su un disco fisso.
</para>

<para>
<systemitem>libdvdread</systemitem> accetta anche il nome del punto di mount al
posto del nome del dispositivo per l'accesso di basso livello e controlla in
<filename>/proc/mounts</filename> per definire il nome del dispositivo.
E' stato sviluppato per Solaris, dove i nomi dei dispositivi sono allocati
dinamicamente.
</para>

<formalpara>
<title>Decrittazione DVD</title>
<para>
La decrittazione dei DVD viene fatta da <systemitem>libdvdcss</systemitem>. La
modalità può esser specificata attraverso la variabile d'ambiente
<envar>DVDCSS_METHOD</envar>, vedi la pagina di manuale per i dettagli.
</para>
</formalpara>

<para>
<emphasis role="bold">Attenzione</emphasis>: puoi cambiare la zona solo 5 volte.
I lettori DVD RPC-1 proteggono le impostazioni di zona solo via software. I
lettori RPC-2 hanno invece una protezione hardware che permette solo 5
modifiche. Può esser necessario/consigliato aggiornare il firmware a RPC-1 se
hai un lettore DVD RPC-2. Puoi provare a cercare aggiornamenti di firmware per
il tuo lettore su internet,
<ulink url="http://forum.rpc-1.com/dl_all.php">questo forum su firmware</ulink>
potrebbe essere un buon punto di partenza per la tua ricerca.
Se non c'è alcun aggiornamento di firmware disponibile per il tuo dispositivo,
usa lo strumento
<ulink url="http://linvdr.org/projects/regionset/">regionset</ulink> per
impostare la zona del tuo lettore DVD (sotto Linux).
</para>
</sect1>


<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->


<sect1 id="vcd">
<title>Riproduzione VCD</title>

<para>
Per una lista completa delle opzioni disponibili per favore leggi la pagina man.
La sintassi per riprodurre un Video CD (VCD) normale è la seguente:
<screen>mplayer vcd://<replaceable>&lt;traccia&gt;</replaceable> [-cdrom-device <replaceable>&lt;dispositivo&gt;</replaceable>]</screen>
Esempio:
<screen>mplayer vcd://2 -cdrom-device /dev/hdc</screen>
Il dispositivo VCD di default è <filename>/dev/cdrom</filename>. Se la tua
impostazione è diversa, crea un collegamento simbolico o indica il dispositivo
giusto dalla riga comando con l'opzione <option>-cdrom-device</option>.
</para>

<note><para>
Perlomeno i lettori CD-ROM Plextor e alcuni Toshiba SCSI hanno prestazioni
orribili leggendo i VCD. Questo perché l'<systemitem>ioctl</systemitem>
CDROMREADRAW non è implementata appieno per questi lettori. Se hai una qualche
conoscenza della programmazione SCSI, per favore
<ulink url="../../tech/patches.txt">aiutaci</ulink> ad implementare un supporto
SCSI generico per i VCD.
</para></note>

<para>
Nel frattempo puoi estrarre i dati dal VCD con
<ulink url="http://ftp.ntut.edu.tw/ftp/OS/Linux/packages/X/viewers/readvcd/">readvcd</ulink>
e riprodurre con <application>MPlayer</application> il file così ricavato.
</para>

<formalpara>
<title>Struttura VCD</title>
<para>
Un Video CD (VCD) è fatto di settori CD-ROM XA, per es. tracce CD-ROM mode 2
form 1 e 2:
<itemizedlist>
<listitem><para>
  La prima traccia è in formato mode 2 form 2 il che significa che usa una
  correzione errori L2. La traccia contiene un filesystem ISO-9660 con 2048
  byte/settore. Il filesystem contiene delle informazioni metadati VCD, così
  come fermi-immagine spesso usati nei menu. I segmenti MPEG per i menu possono
  anche essere salvati nella prima traccia, ma gli MPEG devono essere
  spezzettati in una serie di blocchi di 150 settori. Il filesystem ISO-9660
  può contenere altri file o programmi che non sono essenziali per le
  operazioni VCD.
</para></listitem>

<listitem><para>
  Le seconde e restanti tracce spesso sono tracce MPEG (filmato) di basso
  livello di 2324 byte/settore, contenenti un pacchetto dati MPEG PS per
  settore. Queste sono in formato mode 2 form 1, così da poter archiviare più
  dati per settore con la perdita di qualche correzione di errore. E' anche
  valido avere tracce CD-DA in un VCD dopo la prima traccia.
  In alcuni sistemi operativi c'è qualche trucchetto che fa apparire queste
  tracce non ISO-9660 in un filesystem. In altri sistemi operativi come
  GNU/Linux non è (ancora) così. Qui i dati MPEG
  <emphasis role="bold">non possono venir montati</emphasis>. Siccome molti
  film sono dentro questo tipo di tracce, dovresti provare prima
  <option>vcd://2</option>.
</para></listitem>

<listitem><para>
  Ci sono dischi VCD senza la prima traccia (traccia singola e proprio nessun
  filesystem). Essi sono comunque riproducibili, ma non possono essere montati.
</para></listitem>

<listitem><para>
  La definizione dello standard VCD viene chiamato il "White Book" Philips, e
  non è disponibile on-line visto che deve essere acquistato da Philips.
  Informazioni più dettagliate sui Video CD si possono trovare nella
  <ulink url="http://www.vcdimager.org/pub/vcdimager/manuals/0.7/vcdimager.html#SEC4">documentazione di vcdimager</ulink>.
</para></listitem>
</itemizedlist>
</para>
</formalpara>

<formalpara>
<title>Riguardo i file .DAT</title>
<para>
Il file .DAT da ~600MB visibile sulla prima traccia del filsystem VCD montato
non è un vero file! Viene anche detto "ISO gateway", creato per permettere a
Windows di gestire tali tracce (Windows non permette alle applicazioni alcun
accesso di basso livello ai dispositivi). Sotto Linux non puoi copiare o
riprodurre questi file (contengono spazzatura). Sotto Windows è possibile
che il driver iso9660 emuli la lettura a basso livello delle tracce nel file.
Per riprodurre un file .DAT ti serve il driver per il kernel che si può
trovare nella versione per Linux di PowerDVD. Esso ha un driver modificato per
il filesystem iso9660 (<filename>vcdfs/isofs-2.4.X.o</filename>), che è in
grado di emulare le tracce di basso livello attraverso quel file fantasma .DAT.
Se monti il disco usando il loro driver, puoi poi copiare e anche riprodurre i
file .DAT con <application>MPlayer</application>. Ma non funzionerà col driver
iso9660 standard del kernel Linux! Usa invece <option>vcd://</option>.
Alternative per copiare i VCD sono il nuovo driver del kernel
<ulink url="http://www.elis.rug.ac.be/~ronsse/cdfs/">cdfs</ulink> (non incluso
nel kernel ufficiale), che mostra le sessioni dei CD come file immagine, e
<ulink url="http://cdrdao.sf.net/">cdrdao</ulink>, un'applicazione per
copiare/fare il dump di CD bit-per-bit.
</para>
</formalpara>
</sect1>
</chapter>
