view DOCS/pl/cd-dvd.html @ 10372:17554a75a654

getcpucaps support
author alex
date Fri, 04 Jul 2003 21:38:17 +0000
parents 0650fe13f36c
children a5785a0b9ee1
line wrap: on
line source

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>

<HEAD>
  <TITLE>CD, DVD, VCD - MPlayer - Odtwarzacz Filmów dla Linuksa</TITLE>
  <LINK REL="stylesheet" TYPE="text/css" HREF="../default.css">
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
</HEAD>

<BODY>


<H2><A NAME="drives">4.1 Napędy CD/DVD</A></H2>

<P>uryweg z dokumentacji Linuksa:</P>

<P>Nowoczesne napędy CD-ROM mogą osiągać bardzo wysokie prędkości głowicy, jeszcze niektóre napędy CD-ROM
  są w stanie działać przy zmniejszonej prędkości. Jest kilka powodów, które mogą spowodować, że
  rozważysz zmianę prędkości napędu CD-ROM:</P>

<UL>
  <LI>Raportowano o błędach odczytu przy wysokich prędkościach, zwłaszcz
    ze źle wytłoczonymi CD-ROMami. Zmniejszenie prędkości może zapobiec utracie danych
    w tych sytuacjach.</LI>
  <LI>Wiele napędów CD-ROM jest irytująco głośnych, mniejsza prędkość może zmniejszyć hałas.</LI>
</UL>

<P>Możesz zmniejszyć prędkość napędu CD-ROM IDE programem <CODE>hdparm</CODE>
  lub programem o nazwie <CODE>setcd</CODE>. Działa to  miej więcej tak:</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>hdparm -E [prędkość] [napęd cdrom]</CODE></P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>setcd -x [prędkość] [napęd cdrom]</CODE></P>

<P>Możez ponad to spróbować</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>echo current_speed:4 &gt; /proc/ide/[napęd cdrom]/settings</CODE></P>

<P>ale będziesz uprawnień roota. Poniższa komenda także może pomóc:</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>echo file_readahead:2000000 &gt; /proc/ide/[napęd cdrom]/settings</CODE></P>

<P>Ustawi to pobranie wstępne odczytu pliku na 2MB, co pomaga z porysowanymi CD-ROMami.
  Jeżeli ustawisz zbyt wysoką wartość, napęd będzie ciągle zwiększał i zmniejszał obroty, co
  radykalnie zmniejszy wydajność.
  Zalecane jest byś ponad to wyregulował twój napęd CD-ROM programem
  <CODE>hdparm</CODE>:</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>hdparm -d1 -a8 -u1 (napęd cdrom)</CODE></P>

<P>Włązcy to DMA, read-ahead, i odmaskowanie IRQ (przeczytaj stronę man dla
  <CODE>hdparm</CODE> po szczegółowe wyjaśnienie).</P>

<P>Prosimy o odwołanie sie do "<CODE>/proc/ide/[napęd cdrom]/settings</CODE>" by
  lepiej dostroić twój CD-ROM.</P>

<P>Napędy SCSI nie mają jednolitego sposobu ustawiania ich parametrów (Znasz jakiś?
  Powiedz nam!) Jest narzędzie, które działa z
  <A HREF="http://das.ist.org/~georg/">napędami Plextor SCSI drives</A>.</P>

<P>FreeBSD:</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;Prędkość: <CODE>cdcontrol [-f urządzenie] speed [prędkość]</CODE></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;DMA: <CODE>sysctl hw.ata.atapi_dma=1</CODE></P>


<H2><A NAME="dvd">4.2 Odtwarzanie DVD</A></H2>

<P>Po kompletną listę dostępnych opcji, prosimy o przeczytanie manula.</P>

<H4>Wsparcie nowego-stylu DVD (mpdvdkit2)</H4>

<P>MPlayer używa <CODE>libdvdread</CODE> i <CODE>libdvdcss</CODE> do
  deszyfrowania i odtwarzania DVD. Te dwie biblioteki są zawarte w podkatalogu
  <CODE>libmpdvdkit2/</CODE> w drzewie kodu źródłowego MPlayera, nie musisz
  instalować ich osobno. Zdecydowaliśmy się na takie rozwiązanie ponieważ
  musieliśmy naprawić błąd w <CODE>libdvdread</CODE> i nałożych nakładkę która
  dodawałą do <CODE>libdvdcss</CODE> <B>obługę buforowania (cache) skrakowanych kluczy CSS</B>.
  Dało to duży przyrost sprędkości, ponieważ klucze nie muszą być krakowane za
  każdym razem przed odtwarzaniem.</P>

<P>MPlayer może również używać systemowych bibliotek <CODE>libdvdread</CODE> i 
  <CODE>libdvdcss</CODE> , ale to rozwiązanie <B>nie</B> jest polecane,
  ponieważ może to powodować błędy, niekompatybilność bibliotek i wolniejszą prędkość.</P>

<H4>wsparcie dla DVD Navigation (dvdnav)</H4>

<P>Wsparcie dla DVD navigation (menu na płycie DVD, z wyborem scen, napisów itp.; przyp.tłum.).
  przez <CODE>dvdnav</CODE> zaczęło działać, ale nigdy nie zostało poprawnie zakończone
  i aktualnie nie jest rozwijane. Kto wie, może jeszcze zostanie ukończone.</P>

<H4>Wsparcie dla starego-stylu DVD - OPCJONALNIE</H4>

<P>Przydatne jeżeli chcesz odtworzyć zakodowane VOBy z <B>twardego dysku</B>. W tym celu
  skompiluj i zainstaluj <B>libcss</B> 0.0.1 (nie  nowszy) (Jeżeli MPlayer nie
  wykryję go, użyj opcji <CODE>-csslib /ścieżka/do/libcss.so</CODE>). By go użyć,
  musisz być rootem, używać MPlayera z suid root lub kazać MPlayerowi użyć
  programu wrapera z suid-root o nazwie fibmap_mplayer.</P>

<H4>Struktura DVD</H4>

<P>Dyski DVD mają po 2048 bajtów na sektor z ECC/CRC. Mają zazwyczaj system plików UDF
  na pojedyńczej ścieżce, zawierającej różne pliki (małe pliki .IFO i .BUK
  i duże (1GB) pliki .VOB). To są prawdziwe pliki które możesz kopiować/odtwarzać
  z zamontowanego systemu plików na niezaszyfrowanym DVD.</P>

<P>Pliki .IFO zawierają informacje nawigacyjne filmu (rozdziały/tytułu/kąty
  kamery, tablice języków, itd.) i są wymagane do odczytu i interpretacji zawartości .VOB
  (filmu). Pliki .BUK są ich kopiami zapasowymi. Wszędzie wykorzystują <B>sektory</B>,
  więc musiał użyć adresowania sektorów raw na dysku by użyć nawigacji DVD lub zdeszyfrować zawartość.</P>

<P>Całe wsparcie dla starego-stylu DVD jest przez <CODE>libcss</CODE>, zatem potrzebuje
  zamontowanego systemu plików DVD i dostępu dla raw opartego na sektorach do urządzenia.
  Na nieszczęście musisz być (w Linuksie) rootem by pobrać adres sektora pliku. Masz
  następujące rozwiązania:</P>

<UL>
  <LI>Bycie rootem lub użycie MPlayera z suid-root.</LI>
  <LI>Kazać MPlayerowi użyć programu wrapera z suid-root o nazwie fibmap_mplayer
    by mieć dostęp do DVD (używane tylko w odtwarzaniu DVD w starym-stylu DVD z <CODE>libcss</CODE>).</LI>
  <LI>W ogóle nie używaj sterownika systemu plików kernela i reimpetacji tego w przestrzeni
    użytkownika. <CODE>libdvdread</CODE> 0.9.x i <CODE>libmpdvdkit</CODE> robią to (wsparcie
    nowego-stylu DVD). System plików UDF kernela nie jest potrzebny, ponieważ
    biblioteki te mają już własny wbudowany sterownik systemu plików UDF. Ponad to
    DVD nie muszą być montowane, ponieważ tylko dostęp raw oparty na sektorach jest użyty.</LI>
</UL>

<P>Czasami <CODE>/dev/dvd</CODE> nie możę być odczytany przez użytkownikóws, więc autorzy
  <CODE>libdvdread</CODE> zaimpletowali emulację która przesyła adresy sektorów do
  nazwplików+przesunięć, by zemulować dostęp raw na zamontowanym systemie plików
  lub nawet na dysku twardym.</P>

<P><CODE>libdvdread</CODE> akceptuje nawet pukty mantowania (ang. mountpoint) zamiast
  nazwy urządzenia dla dostępy raw i sprawdza <CODE>/proc/mounts</CODE> by pobrać nazwę urządzenia.
  Zrobione to zostało dla Solarisa, gdzie nazwy urządzeń są dynamicznie przydzielane.</P>

<P>Domyślnym urządzeniem DVD jest <CODE>/dev/dvd</CODE>. jeżeli ustawiłeś inne,
  stwórz link symboliczny, lyb podaj poprawne urządzenie w linii komend opcją
  <CODE>-dvd-device</CODE>.</P>

<H4>Autentyfikacja DVD</H4>

<P>Wspacia dla autentyfikacji i metod deszyfrowania nowego-stylu DVD są ukończone,
  używają poprawionej biblioteki <CODE>libdvdcss</CODE> (patrz wyżej). Metoda może być
  określona poprzez zmienną systemową <CODE>DVDCSS_METHOD</CODE>, która może być ustawiona na
  <CODE>key (klucz)</CODE>, <CODE>disk (dysk)</CODE> lub <CODE>title (tytuł)</CODE>.</P>

<P>Jeżeli nic nie jest określone, biblioteka próbuje poniższych metod
  (domyślnie: key, title request):</P>

<OL>
  <LI><B>bus key:</B> Ten klucz jest negocjowany podczas autentyfikacji (długi mix
    ioctl'i wymiany różnych kluczy, oprogramowanie kryptograficzne) i używa go do deszyfracji
    kluczy tytułu i dysku zanim wyśle je przez niechronioną magistralę (bus)
    (by zapobiec podsłuchiwaniu). Klucz magistrali jest wymagany do pobrania i predeszyfracji
    zaszyfrowanego klucza dysku.</LI>
  <LI><B>cached key:</B> MPlayer szuka aktualnie skrakowanych kluczy tytułów
    które są zapisane w katalogu <CODE>~/.mplayer/DVDKeys</CODE> (szybkie ;).</LI>
  <LI><B>key:</B> Jeżeli nie są dostępne zbuforowane klucze, MPlayer próbuje deszyfrować
    klucz dysku grupą kluczy dołączonych do odtwarzacza.</LI>
  <LI><B>disk:</B> Jeżeli metoda klucza zawiedzie (np. nie ma doączony kluczy do odtwarzacza),
    MPlayer skrakuje klucz dysku używając algorytmu brute force.
    Ten proces intensywnie wykorzystuje CPU i wymaga 64 MB pamięci (16M 32Bit
    wpisów tablicy mieszającej (org. hash table)) by zapisać tymczasowe dane. Ta metoda powinna
    zawsze działać (wolno).</LI>
  <LI><B>title request:</B> Z kluczem dysku MPlayer wymaga zaszyfrowanych kluczy
    tytułów, które są wewnątrz <I>ukrytych sektorów</I> używających <CODE>ioctl()</CODE>.
    Kod regionu (dla USA, Japoni, Europy inny, kwestia zabezpieczeń; przyp. tłum.) urządzeń RPC-2 jest sprawdzany w tym
    kroku i może się nie powieść w takich urządzeniach. Jeżeli się powiedzie, klucz tytułu
    zostanie zdeszyfrowany z magistralą (bus) i kluczem dysku.</LI>
  <LI><B>title:</B> Ta metoda zostanie użyta, jeżeli metoda "title request" (patrz wyżej) zawiedzie
    i nie polega na wymianie klucza z napędem DVD. Używa ataku kryptograficznego
    by bezpośrednio odgadnąć klucz tytułu (poprzez odnajdywanie powtarzających się wzorców w
    zaszyfrowanej zawartości VOB i odgadywaniu, że tekst jawny odpowiadający pierwszym
    zaszyfrowanym bajtom jest kontunuacją wzorca).
    Ta metoda jest również znana jako "known plaintext attack" (atak znanym tekstem jawnym) lub "DeCSSPlus".
    W wielu przypadkach ta metoda zawodzi, ponieważ nie ma wystarczającej ilości zaszyfrowanych
    informacji na dysku, by sporządzić statystyki ataku lub dlatego, że klucz zmienia się
    wewnątrz tytułu. Ta metoda jest jedynym rozwiązaniem by zdeszyfrować DVD zapisane na
    dysku twardym lub z DVD z błędnym kodem regionu w napędach RPC2 (wolny).</LI>
</OL>

<P>Napędy DVD RPC-1 chronią ustawienia regionu tylko programowo. Napędu RPC-2
  mają sprzętową ochronę która pozwala tylko na 5 zmian. Możliwe, że będziesz
  potrzebował/będzie zalecany upgrade firmware'u do RPC-1, jeżli masz napęd DVD RPC-2.
  Upgrade'y firmware'u można znaleść tej
  <A HREF="http://www.firmware-flash.com">stronie firmware'owej</A>. Jeżeli nie ma tam
  upgrade'u firmware'u dostępnego dla twojego urządzenia, użyj
  <A HREF="http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz">narzędzia regionset
  </A> by ustawić kod regionu twojego napędu DVD (pod Linuksem).
  <B>Ostrzeżenie:</B> Możesz zmienić region tylko 5 razy.</P>


<H2><A NAME="vcd">4.3 Odtwarzanie VCD</A></H2>

<P>Po kompletną listę dostępnych opcji, prosimy o przeczytanie manuala.
  Składnia dla standardowego Video CD (VCD) jest następująca:</P>

<P><CODE>mplayer -vcd &lt;ścieżka&gt; [-cdrom-device &lt;uządzenie&gt;]</CODE></P>

<P>Przykład: <CODE>mplayer -vcd 2 -cdrom-device /dev/hdc</CODE></P>

<P>Domyślnym użądzeniem VCD jest <CODE>/dev/cdrom</CODE>. Jeżeli twoje ustawienia są inne,
  stwórz link symboliczny lub podaj poprawne urządzenie w lini komend opcją
  <CODE>-cdrom-device</CODE>.</P>

<P><B>Informacja:</B> Najnowsze napędy Plextora i niektóre CD-ROMy SCSI Toshiba
  mają straszną osiągi w czytaniu VCDików. Jest tak, ponieważ CDROMREADRAW ioctl
  nie jest w pełni zaimpletowany dla tych napędów. Jeżli masz jakąś wiedzę na temat
  programowania SCSI, prosimu <A HREF="../tech/patches.txt">pomóż nam</A> wprowadzić
  ogólne wsparcie dla SCSI VCD.</P>

  <P>Tymczasem możesz wydobyć dane z VCDików programem
  <A HREF="http://140.132.1.204/OS/Linux/packages/X/viewers/readvcd/">readvcd</A>
  i odtworzyć wynikowy plik MPlayerem.</P>

<H4>Struktura VCD</H4>

<P>Dyski VCD składają się z jednej lub więcej ścieżek:</P>

<UL>
  <LI>Pierwsza ścieżka jest małą ścieżką danych 2048 bajtów/sektor z systemem plików iso9660,
    zazwyczaj zawierającą odtwarzacz VDC dla Windowsa i może inne informacje
    (zdjęcia, tekst, itp).</LI>
  <LI>Druga i inne ścieżki są to MPEGi raw, 2324 bajtów/sektor (film),
    zawierające jeden pakiet danych MPEG PS na sektor zamiast systemu plików.
    Podobnie do ścieżek audio CD, te ścieżki <B>nie mogą być zamontowane</B> (Montowałeś kiedykolwiek
    audio CD, by je odtworzyć?). Ponieważ większość filmów jest w tej śieżce,
    powinieneś najpierw spróbować <CODE>-vcd 2</CODE>.</LI>
  <LI>Istnieją dyski VCD bez pierwszej ścieżki (pojedyńcza ścieżka i całkowity
    brak systemu plików). Nadal można je odtworzyć, ale nie mogą być zamontowane.</LI>
</UL>

<H4>O plikach .DAT:</H4>

<P>Widoczny plik ~600 MB na pierwszej ścieżce w zamontowanym VCD nie jest prawdziwym
  plikiem! Jest on więc przekierowaniem ISO z własną nazwą, stworzonym by pozwolić Windowsom
  przechwycenie tych ścieżek (Windowsy w ogóle nie pozwalają na dostęp raw urządzenia).
  Pod Linuksem nie możesz kopiować lub odtwarzać tych plików (zawierają śmieci). Pod
  Windowsami jest to możliwe, ponieważ ich sterownik iso9660 emuluje odczyt raw
  ścieżek w tym pliku. By odtworzyć pliki .DAT potrzebujesz sterownika kernela który
  możesz znaleść w wersji linuksowej PowerDVD. Zawiera on zmodyfikowany sterownik systemu
  plików iso9660 (<CODE>vcdfs/isofs-2.4.X.o</CODE>), który ma dostępną emulację
  ścierzek raw bezpośrednio do ukrytych plików .DAT. Jeżeli zamontujesz dysku używając
  tego sterownika, możesz kopiować i nawet odtwarzać pliki .DAT MPlayerem. Ale to
  <B>nie zadziała</B> ze standardowym sterownikiem iso9660 kernela Linuksa!
  Użyj zamiast tego opcji <CODE>-vcd</CODE>. Alternatywami dla kopiowania VCD są:
  nowy sterownik kernela <A HREF="http://www.elis.rug.ac.be/~ronsse/cdfs/">cdfs</A>
  (nie jest częścią oficjalnedo kernela) który pokazuje <I>sesje</I> CD
  jako pliki obrazów i <A HREF="http://cdrdao.sourceforge.net/">cdrdao</A>, aplikacja
  do grabowania/kopiowania CD metodą bit-by-bit.</P>

</BODY>
</HTML>