Mercurial > mplayer.hg
view DOCS/xml/pl/cd-dvd.xml @ 22045:2e1b3754ca2d
Bugfix: glyph and bitmap pointers could be left uninitialized after
get_glyph().
Based on a patch by Stanislav Maslovski (stanislav d maslovski a gmail d com).
author | eugeni |
---|---|
date | Mon, 29 Jan 2007 17:08:29 +0000 |
parents | 175e897696b6 |
children | 0f1b5b68af32 |
line wrap: on
line source
<?xml version="1.0" encoding="utf-8"?> <!-- synced with r21612 --> <!-- Opiekun: Emdej --> <chapter id="cd-dvd"> <title>Używanie CD/DVD</title> <sect1 id="drives"> <title>Napędy CD/DVD</title> <para> Nowoczesne napędy CD-ROM osiągają bardzo duże prędkości. Niektóre z nich są dodatkowo zdolne do pracy przy zredukowanych prędkościach. Oto kilka powodów, dla których powinniśmy zastanowić się czy nie należy zredukować prędkości naszego napędu: </para> <itemizedlist> <listitem><para> Istnieją doniesienia o błędach odczytu przy dużych prędkościach, szczególnie podczas używania uszkodzonych bądź wadliwie wytłoczonych/nagranych płyt CD. Redukcja prędkości odczytu może uchronić nas przed utratą danych w takich przypadkach. </para></listitem> <listitem><para> Wiele napędów CD jest dokuczliwie głośnych. Redukcja prędkości może zmniejszyć natężenie hałasu. </para></listitem> </itemizedlist> <!-- ********** --> <sect2 id="drives_linux"> <title>Linux</title> <para> Możesz zredukować prędkość napędu CD z interfejsem IDE korzystając z <command>hdparm</command>, <command>setcd</command> lub <command>cdctl</command>. Działają one w następujący sposób: <screen>hdparm -E <replaceable>[prędkość]</replaceable> <replaceable>[urządzenie cdrom]</replaceable></screen> <screen>setcd -x <replaceable>[prędkość]</replaceable> <replaceable>[urządzenie cdrom]</replaceable></screen> <screen>cdctl -bS <replaceable>[speed]</replaceable></screen> </para> <para> Jeśli używasz emulacji SCSI, możesz musieć zastosować ustawienia do prawdziwego urządzenia IDE a nie emulowanego SCSI. </para> <para> Jeżeli masz uprawnienia roota, to pomóc może także następująca komenda: <screen>echo file_readahead:2000000 > /proc/ide/<replaceable>[urządzenie cdrom]</replaceable>/settings</screen> </para> <para> Ustawiamy w ten sposób wielkość bufora odczytu na 2MB, co pomaga przy odczycie porysowanych płyt. Jeżeli ustawimy zbyt dużą wielkość tego bufora, napęd będzie stale rozkręcał się i zwalniał, co spowoduje bardzo znaczny spadek wydajności. Zaleca się również dostrojenie napędu CD-ROM przy użyciu <command>hdparm</command>: <screen>hdparm -d1 -a8 -u1 <replaceable>[urządzenie cdrom]</replaceable></screen> </para> <para> Włączamy w ten sposób dostęp DMA do dysku, czytanie z wyprzedzeniem i odmaskowanie IRQ (IRQ unmasking) (więcej przeczytasz na stronach man do <command>hdparm</command>) </para> <para> Proszę sprawdzić "<filename>/proc/ide/<replaceable>[urządzenie cdrom]</replaceable>/settings</filename>" by dostroić swój napędu CD-ROM. </para> <para> Dla napędów SCSI nie istnieje jednolity sposób ustawiawiania tych parametrów (jeżeli znasz jakiś to napisz nam o nim). Istnieje narzędzie które działa z <ulink url="http://das.ist.org/~georg/">napędami SCSI Plextor</ulink>. </para> </sect2> <!-- ********** --> <sect2 id="drives_freebsd"> <title>FreeBSD</title> <para>Prędkość: <screen> cdcontrol [-f <replaceable>urządzenie</replaceable>] speed <replaceable>[prędkość]</replaceable> </screen> </para> <para>DMA: <screen> sysctl hw.ata.atapi_dma=1 </screen> </para> </sect2> </sect1> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="dvd"> <title>Odtwarzanie DVD</title> <para> Aby poznać pełną listę dostępnych opcji, proszę przeczytać odpowiednie strony man. Składnia do odtwarzania standardowego DVD jest następująca: <screen> mplayer dvd://<replaceable><ścieżka></replaceable> [-dvd-device <replaceable><urządzenie></replaceable>] </screen> </para> <para> Przykład: <screen>mplayer dvd://1 -dvd-device /dev/hdc</screen> </para> <para> Jeśli skompilowałeś <application>MPlayera</application> z obsługą dvdnav, składnia jest taka sama, tylko musisz użyć dvdnav:// zamiast dvd://. </para> <para> Domyślnym urządzeniem (device) DVD jest <filename>/dev/dvd</filename>. Jeżeli Twoje ustawienia są inne, stwórz odpowiedni symlink lub ustaw odpowiednie urządzenie (device) w linii polecenia korzystając z opcji <option>-dvd-device</option>. </para> <para> <application>MPlayer</application> używa <systemitem>libdvdread</systemitem> oraz <systemitem>libdvdcss</systemitem> do odtwarzania i dekodowania DVD. Te dwie biblioteki są zawarte w głównym drzewie źródłowym <application>MPlayera</application>, nie trzeba instalować ich osobno. Możesz też użyć systemowych wersji tych bibliotek, ale nie jest to zalecane, ponieważ może spowodować błędy, niekompatybilności bibliotek oraz zmniejszenie prędkości. </para> <note><para> Jeśli występują problemy z dekodowaniem DVD, spróbuj wyłączyć supermount lub inne tego typu usługi. Niektóre napędy RPC-2 mogą również wymagać ustawienia kodu regionu DVD. </para></note> <formalpara> <title>Struktura dysku DVD</title> <para> Dyski DVD mają po 2048 bajtów na sektor z ECC/CRC. Zwykle posiadają system plików UDF na pojedynczej ścieżce zawierającej różnorakie pliki (małe pliki .IFO i .BUK oraz duże (1GB) pliki .VOB). Są one rzeczywistymi plikami i mogą być kopiowane/odtwarzane z podmontowanego systemu plików niezakodowanego DVD. </para> </formalpara> <para> Pliki .IFO zawierają informacje nawigacyjne filmu (mapa rozdziałów/tytułów/kątów kamery, tablica języków, itp) i są konieczne do odczytu i interpretacji zawartości pliku .VOB (filmu). Pliki .BUK są kopiami zapasowymi plików .IFO. Używają <emphasis role="bold">sektorów</emphasis> wszędzie, więc aby zaimplementować nawigację na DVD lub rozszyfrować zawartość, należy używać adresowania sektorów dysku w trybie raw. </para> <para> Z tego powodu obsługa DVD wymaga dostępu do urządzenia w trybie raw bazującym na sektorach. Niestety wymagane jest (pod Linuksem) posiadanie uprawnień roota aby móc korzystać z sektorowego adresowania pliku. Dlatego też nie w ogóle używamy sterownika systemu plików pochodzącego z jądra, ale reimplementujemy to w przestrzeni użytkownika. Zajmuje się tym biblioteka <systemitem>libdvdread</systemitem> 0.9.x. Sterownik systemu plików UDF zawarty w jądrze nie jest wymagany ponieważ wspomniane biblioteki zawierają własny, wbudowany sterownik systemu plików UDF. DVD nie musi być podmontowany, bowiem używany jest jedynie dostęp w trybie raw. </para> <para> Czasami <filename>/dev/dvd</filename> nie może być czytany przez użytkowników, zatem autorzy <systemitem>libdvdread</systemitem> zaimplementowali warstwę emulacji, która tłumaczy adresowanie sektorowe na nazwy plików i offsety, aby emulować dostęp w trybie raw na podmontowanym systemie plików albo nawet na twardym dysku. </para> <para> <systemitem>libdvdread</systemitem> równie dobrze akceptuje miejsce podmontowania (mountpoint) jak i nazwę urządzenia przy dostępie w trybie raw i sprawdza <filename>/proc/mounts</filename> w celu odnalezienia odpowiedniej nazwy urządzenia (device). Zostało to napisane z myślą o systemie Solaris, gdzie nazwy urządzeń są przydzielane automatycznie. </para> <formalpara> <title>Deszyfrowanie DVD</title> <para> Do deszyfrowania DVD jest używana biblioteka <systemitem>libdvdcss</systemitem>. Metoda jej działania może być określona poprzez zmienna środowiskową <envar>DVDCSS_METHOD</envar>, co jest dokładniej opisane na stronie man. </para> </formalpara> <para> Napędy DVD RPC-1 zabezpieczają ustawienia regionu jedynie poprzez oprogramowanie. Napędy RPC-2 mają sprzętowe zabezpieczenie, które pozwala na co najwyżej 5 zmian. Jeżeli posiadamy napęd DVD RPC-2 wymagana/zalecana jest aktualizacja firmware'u do RPC-1. Nowe wersje firmware'ów można znaleźć w internecie. Poszukiwania radzimy rozpocząć od <ulink url="http://forum.rpc-1.com/dl_all.php">forum firmware'ów</ulink>. Jeżeli nie ma tam nowej wersji firmware'u dla naszego urządzenia, użyj <ulink url="http://linvdr.org/projects/regionset/">regionset tool (narzędzia do zmiany regionów)</ulink> aby ustawić kod regionu na swoim napędzie DVD (pod Linuksem). <emphasis role="bold">Ostrzeżenie</emphasis>: Możesz ustawić region tylko 5 razy. </para> </sect1> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="vcd"> <title>Odtwarzanie VCD</title> <para> Pełna lista dostępnych opcji znajduje się na stronie man. Składnia dla standardowego Video CD (VCD) jest następująca: <screen>mplayer vcd://<replaceable><ścieżka></replaceable> [-cdrom-device <replaceable><urządzenie></replaceable>]</screen> Przykład: <screen>mplayer vcd://2 -cdrom-device /dev/hdc</screen> Domyślnym urządzeniem VCD jest <filename>/dev/cdrom</filename>. Jeśli Twoje ustawienia są inne, utwórz dowiązanie symboliczne lub podaj prawidłowe urządzenie w linii poleceń za pomocą opcji <option>-cdrom-device</option> </para> <note><para> Przynajmniej napędy CD-ROM SCSI firmy Plextor i niektóre modele Toshiby mają beznadziejną wydajność przy odczycie VCD. Jest to spowodowane niekompletną implementacją <systemitem>ioctl</systemitem>'a CDROMREADRAW dla tych urządzeń. Jeśli masz jakieś pojęcie o programowaniu SCSI, <ulink url="../../tech/patches.txt">pomóż nam</ulink> zaimplementować ogólną obsługę SCSI dla VCD. </para></note> <para> W międzyczasie możesz wyciągać dane z VCD za pomocą <ulink url="http://ftp.ntut.edu.tw/ftp/OS/Linux/packages/X/viewers/readvcd/">readvcd</ulink> i odtwarzać plik wynikowy za pomocą <application>MPlayera</application> </para> <formalpara> <title>Struktura VCD</title> <para> Video CD (VCD) składa się z sektorów CD-ROM XA, tzn. ścieżek CD-ROM mode 2 form 1 i form 2: <itemizedlist> <listitem><para> Pierwsza ścieżka jest w formacie mode 2 form 2, który oznacza użycie korekcji błędów L2. Ścieżka ta zawiera system plików ISO-9660 o gęstości 2048 bajtów/sektor. Ten system plików z kolei zawiera metainformacje VCD, a także nieruchome klatki, często używane w menu. Segmenty MPEG dla menu mogą także być składowane w tejże pierwszej ścieżce, ale MPEGi muszą być podzielone na kawałki po 150 sektorów. System plików ISO-9660 może zawierać inne pliki bądź programy, niekonieczne dla eksploatacji VCD. </para></listitem> <listitem><para> Druga i pozostałe ścieżki są zwykle ścieżkami video MPEG typu raw o gęstości 2324 bajtów/sektor, zawierającymi jeden pakiet danych MGEG PS na sektor. Ścieżki te są w formacje mode 2 form 1, więc przechowują one więcej danych na sektor, w zamian za słabszą korekcję błędów. Możliwe są też ścieżki CD-DA na VCD poza pierwszą ścieżką. Niektóre systemy operacyjne używają pewnych trików aby ścieżki nie zawierające systemu plików ISO-9660 były widoczne w systemie plików. W pozostałych systemach, jak na przykład w systemie GNU/Linux, nie ma takiej możliwości (jeszcze). W takim przypadku dane MPEG <emphasis role="bold">nie mogą być montowane</emphasis>. Jako że większość filmów znajduje się na tego typu ścieżce, powinieneś spróbować na początek opcji <option>vcd://2</option>. </para></listitem> <listitem><para> Istnieją również płyty VCD bez pierwszej ścieżki (pojedyncza ścieżka i brak systemu plików w ogóle). Je również da się odtwarzać, ale nie da się ich montować. </para></listitem> <listitem><para> Definicja standardu Video CD, nazywana "Białą Księgą" Phillipsa, generalnie nie jest dostępna online, musi być zakupiona u Phillipsa. Bardziej szczegółowe informacje na temat Video CD można znaleźć na <ulink url="http://www.vcdimager.org/pub/vcdimager/manuals/0.7/vcdimager.html#SEC4">stronie dokumentacji vcdimagera</ulink>. </para></listitem> </itemizedlist> </para> </formalpara> <formalpara> <title>O plikach .DAT</title> <para> Plik o rozmiarze ok. 600 MB widoczny na pierwszej ścieżce zamontowanego VCD nie jest prawdziwym plikiem ! Jest on tzw. bramką ISO, utworzoną by Windows mógł obsługiwać takie ścieżki (Windows w ogóle nie zezwala aplikacjom na dostęp do urządzeń w trybie raw). Pod Linuksem nie możesz kopiować ani odtwarzać tych plików (zawierają "śmieci"). Pod Windows jest to możliwe, gdyż jego sterownik iso9660 symuluje odczyt ścieżek w trybie raw za pomocą tego pliku. By móc odtwarzać pliki .DAT, musisz mieć sterownik do jądra, który dostarczany jest z linuksową wersją PowerDVD. Posiada on zmodyfikowany sterownik systemu plików iso9660 (<filename>vcdfs/isofs-2.4.X.o</filename>), który jest w stanie symulować odczyt ścieżek w trybie raw za pomocą pliku .DAT. Jeśli podmontujesz płytę używając ich sterownika, możesz kopiować, a nawet odtwarzać pliki .DAT za pomocą <application>MPlayera</application>. Ale nie będzie to działało za pomocą standardowego sterownika iso9660 dostarczonego z jądrem Linuksa! Zamiast tego użyj opcji <option>vcd://</option>. Alternatywą dla kopiowania VCD jest nowy sterownik: <ulink url="http://www.elis.rug.ac.be/~ronsse/cdfs/">cdfs</ulink> (nie jest częścią oficjalnego jądra), który wyświetla sesje CD jako pliki obrazów, oraz <ulink url="http://cdrdao.sf.net/">cdrdao</ulink>, program do zgrywania płyt CD bit po bicie. </para> </formalpara> </sect1> </chapter>