view DOCS/xml/cs/cd-dvd.xml @ 22942:8258605fb3b2

10000000l learn to count
author rtogni
date Mon, 09 Apr 2007 20:43:48 +0000
parents da64f5e20483
children 40e794ce297d
line wrap: on
line source

<?xml version="1.0" encoding="utf-8"?>
<!-- synced with r20551 -->
<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 &quot;<filename>/proc/ide/<replaceable>(cdrom zařízení)</replaceable>/settings</filename>&quot;
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 v podadresáři
<filename class="directory">libmpdvdkit2</filename> zdrojových kódů
<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 zajišťují
<systemitem>libdvdread</systemitem> 0.9.x a <systemitem>libmpdvdkit</systemitem>.
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ý (raw) 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:</para>
</formalpara>

<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,
stejně jako statické snímky často používané 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>

<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ý ovladač do kernelu jménem
<ulink url="http://www.elis.rug.ac.be/~ronsse/cdfs/">cdfs</ulink>
(není součástí oficiálního kernelu), 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>