# Použití CD/DVD

## CD/DVD mechaniky

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:

- 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.

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

### Linux

Můžete snížit rychlost IDE CD-ROM mechanik pomocí `hdparm`, `setcd` nebo `cdctl`. Pracuje to asi takto:

    hdparm -E [rychlost] [mechanika cdrom]

    setcd -x [rychlost] [mechanika cdrom]

    cdctl -bS [rychlost]

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í.

Pokud máte práva root-a, následující příkaz vám rovněž může pomoci:

    echo file_readahead:2000000 > /proc/ide/[mechanika cdrom]/settings

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í `hdparm`:

    hdparm -d1 -a8 -u1 [cdrom zařízení]

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

Prostudujte si „`/proc/ide/`(cdrom zařízení)`/settings`“ pro jemné doladění vaší CD-ROM.

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 SCSI mechanikami Plextor.

### FreeBSD

rychlost:

    cdcontrol [-f zařízení] speed [rychlost]

DMA:

    sysctl hw.ata.atapi_dma=1

## Přehrávání DVD

Úplný seznam dostupných voleb naleznete v man stránce. Syntaxe pro přehrání standardního DVD je následující:

    mplayer dvd://<track> [-dvd-device <DVD_zařízení>]

Příklad:

    mplayer dvd://1 -dvd-device /dev/hdc

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

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

MPlayer používá `libdvdread` a `libdvdcss` pro přehrávání a dekódování DVD. Tyto dvě knihovny jsou obsaženy ve zdrojových kódech MPlayeru, 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.

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.

## Dekódování DVD

Dekódování DVD provádí `libdvdcss`. Metodu můžete zvolit pomocí proměnné prostředí `DVDCSS_METHOD`, detaIly viz manuálová stránka.

### Kód regionu

DVD mechaniky v současnosti přicházejí s nesmyslným omezením nazvaným kód regionu. To je způsob jak přinutit DVD mechaniku akceptovat pouze DVD vyrobené pro jeden ze šesti různých regionů na které byl rozdělen svět. Jak si může skupina lidí zasednout ke kulatému stolu, přijít s takovým nápadem a čekat, že se svět 21. století skloní před jejich vůlí je naprosto nepochopitelné

Mechaniky, které vynucují nastavení regionu poze softwarově jsou známy také jako RPC-1 a ty, které to dělají v hardware jako RPC-2. Mechaniky RPC-2 umožňují změnu kódu regionu pětkrát a pak zůstane pevný. V Linuxu můžete použít nástroj regionset pro nastavení kódu regionu vaší DVD mechaniky.

Naštěstí je možné konvertovat RPC-2 mechaniky na RPC-1 pomocí upgrade firmware. Vyplňte modelové číslo vaší DVD mechaniky do svého oblíbeného vyhledávače, nebo se podívejte do fóra a sekce download „Firmware stránek“. Ačkoli platí obvyklé „kazy“ upgradů fimware, zkušenosti se zbavením se vynucování region kódů jsou obecně kladné.

## Přehrávání VCD

Úplný seznam dostupných voleb naleznete v man stránce. Syntaxe pro standardní Video CD (VCD) je následující:

    mplayer vcd://<stopa> [-cdrom-device <zařízení>]

Příklad:

    mplayer vcd://2 -cdrom-device /dev/hdc

Výchozím VCD zařízením je `/dev/cdrom`. Pokud se vaše nastavení liší, vytvořte symlink nebo uveďte správné zařízení na příkazovém řádku pomocí volby `-cdrom-device`.

Minimálně SCSI CD-ROM mechaniky Plextor a Toshiba vykazují mizerný výkon při čtení VCD. To proto, že CDROMREADRAW `ioctl` není pro tyto mechaniky plně implementováno. Pokud máte zkušenosti se SCSI programováním, prosíme pomozte nám implementovat obecnou SCSI podporu pro VCD.

Mezitím můžete extrahovat data z VCD pomocí readvcd a výsledný soubor přehrát v MPlayeru.

## Struktura VCD

Video CD (VCD) je tvořeno CD-ROM XA sektory, čili stopy CD-ROM mode 2 třída 1 a 2:

- 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.

- 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 nemohou být připojena. Protože většina filmů je uložena uvnitř tohoto druhu stopy, měli byste nejprve zkusit `vcd://2`.

- 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.

- 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 v dokumentaci programu vcdimager.

## Pár slov o .DAT souborech

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 (`vcdfs/isofs-2.4.X.o`), 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 MPlayerem. Ale nebude to fungovat se standardním iso9660 ovladačem z Linuxového kernelu! Místo toho použijte `vcd://`. Alternativou kopírování VCD je nový jaderný ovladač jménem cdfs (není součástí oficiálního jádra), který zobrazuje CD sekce jako obrazové soubory a program cdrdao, který bit-po-bitu grabuje/kopíruje CD.