Urywek z dokumentacji Linuksa:
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:
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żesz 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łączy 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ła do
libdvdcss
obsługę buforowania (cache)
skrakowanych kluczy CSS. Dało to duży przyrost prę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ów, 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 punkty montowania
(ang. mountpoint) zamiast nazwy urządzenia dla dostępu 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
.
Wsparcia 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, prosimy pomóż nam wprowadzić ogólne wsparcie dla SCSI VCD.
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ę ś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 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ą oficjalnego kernela) który pokazuje sesje
CD jako pliki obrazów i cdrdao, aplikacja do
grabowania/kopiowania CD metodą bit-by-bit.