1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
|
<?xml version="1.0" encoding="utf-8"?>
<!-- synced with r20442 -->
<!-- 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>
dla dostrojenia swojego 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 podkatalogu <filename class="directory">libmpdvdkit2</filename>
w gĹĂłwnym drzewie katalogĂłw <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.
ZajmujÄ
siÄ tym
biblioteki <systemitem>libdvdread</systemitem> 0.9.x i
<systemitem>libmpdvdkit</systemitem>. 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:</para>
</formalpara>
<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>
<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>
|