<?xml version="1.0" encoding="utf-8"?>
<!-- synced with r21612 -->
<chapter id="cd-dvd">
<title>Použití CD/DVD</title>

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

<para>
Moderní CD-ROM mechaniky dosahují velmi vysokých otáček a některé z nich
mohou pracovat i se sníženými otáčkami. Existuje několik důvodů, pro
které byste mohli chtít změnit rychlost CD-ROM mechaniky:
</para>

<itemizedlist>
<listitem><para>
  Byly zprávy o chybách čtení při vysokých rychlostech, zvláště u špatně
  vylisovaných CD-ROMů. Z těchto důvodů může snížení rychlosti působit
  jako prevence ztráty dat.
</para></listitem>

<listitem><para>
  Mnoho CD-ROM mechanik je nechutně hlučných, nižší rychlost může omezit
  tento hluk.
</para></listitem>
</itemizedlist>

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

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

<para>
Můžete snížit rychlost IDE CD-ROM mechanik pomocí <command>hdparm</command>,
<command>setcd</command> nebo <command>cdctl</command>. Pracuje to asi takto:
<screen>hdparm -E <replaceable>[rychlost]</replaceable> <replaceable>[mechanika cdrom]</replaceable></screen>
<screen>setcd -x <replaceable>[rychlost]</replaceable> <replaceable>[mechanika cdrom]</replaceable></screen>
<screen>cdctl -bS <replaceable>[rychlost]</replaceable></screen>
</para>

<para>
Pokud používáte SCSI emulaci, budete muset předat tato nastavení do skutečného
IDE zařízení, nikoli emulovaného SCSI zařízení.
</para>

<para>
Pokud máte práva root-a, následující příkaz vám rovněž může pomoci:
<screen>echo file_readahead:2000000 &gt; /proc/ide/<replaceable>[mechanika cdrom]</replaceable>/settings</screen>
</para>

<para>
To nastaví čtení napřed na 2MB, což pomůže při poškrábaných médiích.
Pokud ji však nastavíte příliš vysoko, bude mechanika stále zrychlovat a
zpomalovat, což výrazně sníží její výkon.
Doporučujeme vám rovněž vyladit vaši CD-ROM mechaniku pomocí <command>hdparm</command>:
<screen>hdparm -d1 -a8 -u1 <replaceable>[cdrom zařízení]</replaceable></screen>
</para>

<para>
To zapne DMA přístup, čtení napřed a odmaskování IRQ (přečtěte si man stránku
programu <command>hdparm</command> pro podrobné vysvětlení).
</para>

<para>
Prostudujte si
"<filename>/proc/ide/<replaceable>(cdrom zařízení)</replaceable>/settings</filename>"
pro jemné doladění vaší CD-ROM.
</para>

<para>
SCSI mechaniky nemají jednotný způsob pro nastavení těchto parametrů
(Znáte nějaký? Řekněte nám jej!). Existuje nástroj, který pracuje se
<ulink url="http://das.ist.org/~georg/">SCSI mechanikami Plextor</ulink>.
</para>
</sect2>

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

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

<para>rychlost:
<screen>
cdcontrol [-f <replaceable>zařízení</replaceable>] speed <replaceable>[rychlost]</replaceable>
</screen>
</para>

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

</sect2>

</sect1>


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


<sect1 id="dvd">
<title>Přehrávání DVD</title>

<para>
Úplný seznam dostupných voleb naleznete v man stránce.
Syntaxe pro přehrání standardního DVD je následující:
<screen>
mplayer dvd://<replaceable>&lt;track&gt;</replaceable> [-dvd-device <replaceable>&lt;DVD_zařízení&gt;</replaceable>]
</screen>
</para>

<para>
Příklad:
<screen>mplayer dvd://1 -dvd-device /dev/hdc</screen>
</para>

<para>
Pokud jste kompilovali <application>MPlayer</application> s podporou dvdnav,
je syntaxe stejná až na to, že musíte používat dvdnav:// místo dvd://.
</para>

<para>
Výchozím DVD zařízením je <filename>/dev/dvd</filename>. Pokud se vaše nastavení
liší, vytvořte symlink, nebo uveďte správné zařízení na příkazovém řádku
pomocí volby <option>-dvd-device</option>.
</para>

<para>
<application>MPlayer</application> používá <systemitem>libdvdread</systemitem> a
<systemitem>libdvdcss</systemitem> pro přehrávání a dekódování DVD. Tyto dvě
knihovny jsou obsaženy ve zdrojových kódech
<application>MPlayer</application>u, nemusíte je tedy instalovat zvlášť.
Můžete rovněž použít systémové verze těchto knihoven, ale toto řešení
nedoporučujeme, protože může vést k chybám,
nekompatibilitě knihovny a nižší rychlosti.
</para>

<note><para>
V případě problémů s dekódováním DVD, zkuste vypnout supermount a podobná udělátka.
Některé RPC-2 mechaniky mohou rovněž vyžadovat nastavení region kódu.
</para></note>

<formalpara>
<title>Struktura DVD</title>
<para>
DVD disky mají 2048 bajtů na sektor s ECC/CRC. Obvykle mají souborový systém UDF
v jediné stopě, obsahující různé soubory (malé .IFO a .BUK soubory a velké (1GB)
.VOB soubory). Jsou to reálné soubory a mohou být kopírovány/přehrávány
z připojeného systému souborů nešifrovaného DVD.
</para>
</formalpara>

<para>
Soubory .IFO obsahují informace pro navigaci ve filmu (kapitola/titul/mapa úhlů,
tabulka jazyků, atd) a jsou potřeba pro čtení a interpretaci obsahu .VOBu
(filmu). Soubory .BUK jsou jejich zálohami. Všude používají
<emphasis role="bold">sektory</emphasis>, takže musíte použít surové (RAW)
adresování sektorů na disku, abyste se mohli navigovat v DVD, nebo dekryptovat
jeho obsah.
</para>

<para>
Podpora DVD vyžaduje přímý sektorově-orientovaný přístup k zařízení. Naneštěstí
musíte (pod Linuxem) být root, abyste dostali adresu sektoru souboru.
To je důvod proč vůbec nepoužíváme modul souborového systému z kernelu a místo
něj jej implementujeme v uživatelském prostoru.
To zajistí <systemitem>libdvdread</systemitem> 0.9.x.
UDF ovladač z kernelu není potřeba, jelikož tyto knihovny mají zabudován svůj
vlastní. Rovněž nemusí být DVD přimountováno vzhledem k tomu že používáme
pouze přímý sektorově orientovaný přístup.
</para>

<para>
Někdy <filename>/dev/dvd</filename> nemůže být čteno uživateli, proto autoři
<systemitem>libdvdread</systemitem> implementovali emulační vrstvu, která
převádí sektorové adresy na soubor+offset za účelem emulace raw přístupu
nad připojeným souborovým systémem nebo dokonce i hard diskem.
</para>

<para>
<systemitem>libdvdread</systemitem> dokonce přijme bod připojení (mountpoint)
místo názvu zařízení pro přímý přístup a podívá se do
<filename>/proc/mounts</filename> na jméno zařízení. To bylo vyvinuto pro
Solaris, kde jsou názvy souborů dynamicky alokovány.
</para>

<formalpara>
<title>Dešifrování DVD</title>
<para>
Dešifrování DVD provádí <systemitem>libdvdcss</systemitem>. Metoda
může být zvolena pomocí proměnné prostředí <envar>DVDCSS_METHOD</envar>,
detaily viz manuálovou stránku.
</para>
</formalpara>

<para>
RPC-1 DVD mechaniky chrání nastavení regionu pouze softwarově. RPC-2 mechaniky
mají hardwarovou ochranu umožňující pouze 5 změn. Může být potřeba/doporučeno
provést upgrade firmwaru na RPC-1 pokud máte RPC-2 DVD mechaniku.
Můžete zkusit najít upgrady firmwaru pro svou mechaniku na internetu,
<ulink url="http://forum.rpc-1.com/dl_all.php">toto firmwarové fórum</ulink>
může být dobrým začátkem pro vaše hledání.
Pokud pro vaši mechaniku není k dispozici upgrade firmwaru, použijte
<ulink url="http://linvdr.org/projects/regionset/">nástroj regionset</ulink>
pro nastavení region kódu vaší DVD mechaniky (pod Linux).
<emphasis role="bold">Varování</emphasis>: Region můžete přenastavit pouze
pětkrát.
</para>
</sect1>


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


<sect1 id="vcd">
<title>Přehrávání VCD</title>
<para>
Úplný seznam dostupných voleb naleznete v man stránce. Syntaxe pro standardní
Video CD (VCD) je následující:
<screen>mplayer vcd://<replaceable>&lt;stopa&gt;</replaceable> [-cdrom-device <replaceable>&lt;zařízení&gt;</replaceable>]</screen>
Příklad:
<screen>mplayer vcd://2 -cdrom-device /dev/hdc</screen>
Výchozím VCD zařízením je <filename>/dev/cdrom</filename>. Pokud se vaše nastavení
liší, vytvořte symlink nebo uveďte správné zařízení na příkazovém řádku pomocí volby
<option>-cdrom-device</option>.
</para>

<note><para>
Minimálně SCSI CD-ROM mechaniky Plextor a Toshiba vykazují mizerný výkon
při čtení VCD. To proto, že CDROMREADRAW <systemitem>ioctl</systemitem>
není pro tyto mechaniky plně implementováno. Pokud máte zkušenosti se
SCSI programováním, prosíme
<ulink url="../../tech/patches.txt">pomozte nám</ulink>
implementovat obecnou SCSI podporu pro VCD.
</para></note>

<para>
Mezitím můžete extrahovat data z VCD pomocí
<ulink url="http://ftp.ntut.edu.tw/ftp/OS/Linux/packages/X/viewers/readvcd/">readvcd</ulink>
a výsledný soubor přehrát v <application>MPlayer</application>u.
</para>

<formalpara>
<title>Struktura VCD</title>
<para>
Video CD (VCD) je tvořeno CD-ROM XA sektory, čili stopy CD-ROM mode 2
třída 1 a 2:
<itemizedlist>
<listitem><para>
  První stopa je ve formátu mode 2 třída 2 což znamená, že používá L2
  korekci chyb. Stopa obsahuje souborový systém ISO-9660 s 2048
  bajty/sektor. Tento souborový systém obsahuje VCD metadata informace,
  spolu se statickými snímky často používanými v menu. MPEG segmenty menu
  mohou být rovněž uloženy v této první stopě, ale tyto MPEGy musí být
  rozsekány na série 150 sektorových chunků. Souborový systém ISO-9660
  může obsahovat další soubory, které nejsou potřeba pro operace
  s VCD.
</para></listitem>

<listitem><para>
  Druhá a ostatní stopy jsou všeobecně surovými MPEG (film) stopami
  s 2324 bajty/sektor, obsahující jeden MPEG PS datový paket na
  sektor. Ty jsou v mode 2 třída 1 formátu, takže obsahují více dat
  v každém sektoru za cenu omezení korekce chyb. Je rovněž možné mít
  CD-DA stopy na VCD za první stopou.
  V některých operačních systémech jsou triky, které umožňují zpřístupnit
  tyto ne-ISO-9660 stopy v systému souborů. V dalších operačních
  systémech jako GNU/Linux to není možné (zatím). Zde MPEG data
  <emphasis role="bold">nemohou být připojena</emphasis>. Protože většina
  filmů je uložena uvnitř tohoto druhu stopy, měli byste nejprve zkusit
  <option>vcd://2</option>.
</para></listitem>

<listitem><para>
  Existují také VCD disky bez první stopy (jediná stopa bez systému souborů).
  Můžete je přehrát, ale nemohou být namountovány.
</para></listitem>

<listitem><para>
  Definice standardu Video CD se nazývá
  Philips "White Book" a není obecně přístupná online, ale musí být zakoupena
  od Philipsu. Podrobnější informace o Video CD můžete nalézt
  <ulink url="http://www.vcdimager.org/pub/vcdimager/manuals/0.7/vcdimager.html#SEC4">v dokumentaci programu vcdimager</ulink>.
</para></listitem>
</itemizedlist>
</para>
</formalpara>

<formalpara>
<title>Pár slov o .DAT souborech</title>
<para>
Soubor veliký ~600 MB viditelný v první stopě připojeného VCD není
skutečným souborem! Je to takzvaná ISO gateway, vytvořená proto,
aby mohl Windows přistupovat k těmto stopám (Windows vůbec neumožňuje
aplikacím surový přístup k zařízení).
Pod Linuxem nemůžete kopírovat nebo přehrávat tyto soubory
(obsahují jen nesmysly). Pod Windows je to možné, protože jeho iso9660
ovladač emuluje surový přístup ke stopě v tomto souboru. Abyste mohli
přehrát .DAT soubor, potřebujete ovladač kernelu který můžete nalézt
v Linuxové verzi PowerDVD. Obsahuje upravený ovladač systému souborů
iso9660 (<filename>vcdfs/isofs-2.4.X.o</filename>), který umí emulovat
surové stopy přes tento stínový .DAT soubor. Pokud připojíte disk
s pomocí jejich ovladače, můžete kopírovat či dokonce přehrávat .DAT
soubory <application>MPlayer</application>em. Ale nebude to fungovat
se standardním iso9660 ovladačem z Linuxového kernelu! Místo toho
použijte <option>vcd://</option>. Alternativou kopírování VCD je
nový jaderný ovladač jménem
<ulink url="http://www.elis.rug.ac.be/~ronsse/cdfs/">cdfs</ulink>
(není součástí oficiálního jádra), který zobrazuje CD sekce jako
obrazové soubory a program
<ulink url="http://cdrdao.sf.net/">cdrdao</ulink>, který bit-po-bitu
grabuje/kopíruje CD.
</para>
</formalpara>
</sect1>
</chapter>
