uryweg z dokumentacji Linuksa:
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:
Możesz zmniejszyć prędkość napędu CD-ROM IDE programem hdparm
lub programem o nazwie setcd
. Działa to miej więcej tak:
hdparm -E [prędkość] [napęd cdrom]
setcd -x [prędkość] [napęd cdrom]
Możez ponad to spróbować
echo current_speed:4 > /proc/ide/[napęd cdrom]/settings
ale będziesz uprawnień roota. Poniższa komenda także może pomóc:
echo file_readahead:2000000 > /proc/ide/[napęd cdrom]/settings
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
hdparm
:
hdparm -d1 -a8 -u1 (napęd cdrom)
Włązcy to DMA, read-ahead, i odmaskowanie IRQ (przeczytaj stronę man dla
hdparm
po szczegółowe wyjaśnienie).
Prosimy o odwołanie sie do "/proc/ide/[napęd cdrom]/settings
" by
lepiej dostroić twój CD-ROM.
Napędy SCSI nie mają jednolitego sposobu ustawiania ich parametrów (Znasz jakiś? Powiedz nam!) Jest narzędzie, które działa z napędami Plextor SCSI drives.
FreeBSD:
Prędkość: cdcontrol [-f urządzenie] speed [prędkość]
DMA: sysctl hw.ata.atapi_dma=1
Po kompletną listę dostępnych opcji, prosimy o przeczytanie manula.
MPlayer używa libdvdread
i libdvdcss
do
deszyfrowania i odtwarzania DVD. Te dwie biblioteki są zawarte w podkatalogu
libmpdvdkit2/
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 libdvdread
i nałożych nakładkę która
dodawałą do libdvdcss
obługę buforowania (cache) skrakowanych kluczy CSS.
Dało to duży przyrost sprędkości, ponieważ klucze nie muszą być krakowane za
każdym razem przed odtwarzaniem.
MPlayer może również używać systemowych bibliotek libdvdread
i
libdvdcss
, ale to rozwiązanie nie jest polecane,
ponieważ może to powodować błędy, niekompatybilność bibliotek i wolniejszą prędkość.
Wsparcie dla DVD navigation (menu na płycie DVD, z wyborem scen, napisów itp.; przyp.tłum.).
przez dvdnav
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.
Przydatne jeżeli chcesz odtworzyć zakodowane VOBy z twardego dysku. W tym celu
skompiluj i zainstaluj libcss 0.0.1 (nie nowszy) (Jeżeli MPlayer nie
wykryję go, użyj opcji -csslib /ścieżka/do/libcss.so
). 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.
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.
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ą sektory, więc musiał użyć adresowania sektorów raw na dysku by użyć nawigacji DVD lub zdeszyfrować zawartość.
Całe wsparcie dla starego-stylu DVD jest przez libcss
, 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:
libcss
).libdvdread
0.9.x i libmpdvdkit
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.Czasami /dev/dvd
nie możę być odczytany przez użytkownikóws, więc autorzy
libdvdread
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.
libdvdread
akceptuje nawet pukty mantowania (ang. mountpoint) zamiast
nazwy urządzenia dla dostępy raw i sprawdza /proc/mounts
by pobrać nazwę urządzenia.
Zrobione to zostało dla Solarisa, gdzie nazwy urządzeń są dynamicznie przydzielane.
Domyślnym urządzeniem DVD jest /dev/dvd
. jeżeli ustawiłeś inne,
stwórz link symboliczny, lyb podaj poprawne urządzenie w linii komend opcją
-dvd-device
.
Wspacia dla autentyfikacji i metod deszyfrowania nowego-stylu DVD są ukończone,
używają poprawionej biblioteki libdvdcss
(patrz wyżej). Metoda może być
określona poprzez zmienną systemową DVDCSS_METHOD
, która może być ustawiona na
key (klucz)
, disk (dysk)
lub title (tytuł)
.
Jeżeli nic nie jest określone, biblioteka próbuje poniższych metod (domyślnie: key, title request):
~/.mplayer/DVDKeys
(szybkie ;).ioctl()
.
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.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 stronie firmware'owej. Jeżeli nie ma tam upgrade'u firmware'u dostępnego dla twojego urządzenia, użyj narzędzia regionset by ustawić kod regionu twojego napędu DVD (pod Linuksem). Ostrzeżenie: Możesz zmienić region tylko 5 razy.
Po kompletną listę dostępnych opcji, prosimy o przeczytanie manuala. Składnia dla standardowego Video CD (VCD) jest następująca:
mplayer -vcd <ścieżka> [-cdrom-device <uządzenie>]
Przykład: mplayer -vcd 2 -cdrom-device /dev/hdc
Domyślnym użądzeniem VCD jest /dev/cdrom
. Jeżeli twoje ustawienia są inne,
stwórz link symboliczny lub podaj poprawne urządzenie w lini komend opcją
-cdrom-device
.
Informacja: 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 pomóż nam wprowadzić ogólne wsparcie dla SCSI VCD.
Tymczasem możesz wydobyć dane z VCDików programem readvcd i odtworzyć wynikowy plik MPlayerem.
Dyski VCD składają się z jednej lub więcej ścieżek:
-vcd 2
.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 (vcdfs/isofs-2.4.X.o
), 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
nie zadziała ze standardowym sterownikiem iso9660 kernela Linuksa!
Użyj zamiast tego opcji -vcd
. Alternatywami dla kopiowania VCD są:
nowy sterownik kernela cdfs
(nie jest częścią oficjalnedo kernela) który pokazuje sesje CD
jako pliki obrazów i cdrdao, aplikacja
do grabowania/kopiowania CD metodą bit-by-bit.