mpv/DOCS/pl/cd-dvd.html

329 lines
14 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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>Urywek z dokumentacji Linuksa:</P>
<P>Nowoczesne napędy CD-ROM mogą osiągać bardzo wysokie
prędkości głowicy, ale niektóre napędy CD-ROM potrafią działać
ze zmniejszoną 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łaszcza 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>    <CODE>hdparm -E [prędkość] [napęd cdrom]</CODE></P>
<P>    <CODE>setcd -x [prędkość] [napęd cdrom]</CODE></P>
<P>Możesz ponad to spróbować</P>
<P>    <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>    <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>    <CODE>hdparm -d1 -a8 -u1 (napęd cdrom)</CODE></P>
<P>Włączy 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>    Prędkość: <CODE>cdcontrol [-f urządzenie] speed
[prędkość]</CODE></P>
<P>    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ła do
<CODE>libdvdcss</CODE> <B>obsługę buforowania (cache)
skrakowanych kluczy CSS</B>. Dało to duży przyrost prę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
reimplementacji 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ów, 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 punkty montowania
(ang. mountpoint) zamiast nazwy urządzenia dla dostępu 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>Wsparcia 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 VCDk</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, prosimy <A href=
"../tech/patches.txt">pomóż nam</A> wprowadzić ogólne wsparcie dla
SCSI VCD.</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 ścież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ę ścieżek 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ą oficjalnego 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>