Mercurial > mplayer.hg
view DOCS/Hungarian/cd-dvd.html @ 8514:a1ff87c254ff
I have rewritten the gif89a vo in order to solve some problems I had
with it. These are:
1) current code is messy
2) poor comments, if any
3) inaccurate frame dropping and delay code
4) output filename hardcoded
5) output framerate as integer
You may specify the output filename and framerate like so:
-vo gif89a:4.33 4.33 fps output
-vo gif89a:some.gif output to some.gif
-vo gif89a:5.02:new.gif output to new.gif at 5.02 fps
The filename defaults to out.gif, and the framerate defaults to 5 fps.
by Joey Parrish <joey@nicewarrior.org>
author | arpi |
---|---|
date | Sat, 21 Dec 2002 21:07:16 +0000 |
parents | 32c0e766ab94 |
children | 4e4ba32cc7f4 |
line wrap: on
line source
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <LINK REL="stylesheet" TYPE="text/css" HREF="../default.css"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2"> </HEAD> <BODY> <P><B><A NAME=drives>4.1. CD-ROM meghajtók</A></B></P> <P>A Linux dokumentációjából:</P> <P>Néhány CDROM meghajtó képes szabályozni az olvasás sebességét. Jónéhány okunk lehet arra, hogy ezt kihasználjuk:</P> <UL> <LI>Magas sebességen előfordulhatnak olvasási hibák, főleg hibásan készített CD lemezek esetén.</LI> <LI>Nem elhanyagolható a sebességgel arányos zajszint sem.</LI> </UL> <P>Ajánlott a 'hdparm' vagy a 'setcd' nevű programot használni.</P> <P> <CODE>hdparm -E [sebesség] [meghajtó]</CODE></P> <P> <CODE>setcd -x [sebesség] [meghajtó]</CODE></P> <P>Másik módszer :</P> <P> <CODE>echo current_speed:4 >/proc/ide/[meghajtó]/settings</CODE></P> <P>de ehhez rendszergazdai jogosultság szükséges. A következő parancs is hasznos lehet:</P> <P> <CODE>echo file_readahead:2000000 >/proc/ide/[meghajtó]/settings</CODE></P> <P>Ez 2Mb-ot olvas előre olvasáskor (karcos CDROM-oknál hasznos). Ha túl magasra állítod, a folytonosan fel-, és lepörgő meghajtó drámai teljesítménycsökkenést fog okozni. Ajánlott továbbá a 'hdparm' program használata:</P> <P> <CODE>hdparm -d1 -a8 -u1 (meghajtó)</CODE></P> <P>Ez bekapcsolja a DMA hozzáférést, előreolvasást, IRQ unmaskingot. (ha ezeket nem érted, *olvasd el a hdparm man-ját*)</P> <P>Kísérletezz a <CODE>/proc/ide/[meghajtó]/settings</CODE> file-lal további tuning céljából.</P> <P>FreeBSD:</P> <P> Speed: <CODE>cdcontrol [-f meghajtó] speed [sebesség]</CODE></P> <P> DMA: <CODE>sysctl hw.ata.atapi_dma=1</CODE></P> <P><B><A NAME=dvd>4.2. DVD lejátszás</A></B></P> <P>A rendelkezésre álló opciók teljes listája a man page-ben tekinthető meg.</P> <H4>Új DVD támogatás (mpdvdkit2)</H4> <P>Az <B>MPlayer</B> a <CODE>libdvdread</CODE> és <CODE>libdvdcss</CODE> néven ismert könyvtárakat használja a DVD dekódolásához és lejátszásához. Ez a két program a <CODE>libmpdvdkit2/</CODE> alkönyvtárban található, így külön installálásuk szükségtelen és felesleges. Azért használjuk ezt a módszert mert így lehetőségünk nyílt kijavítani egy <CODE>libdvdread</CODE> bugot, és megpatchelni a <CODE>libdvdcss-t</CODE> olyan módon hogy a feltört CSS kulcsokat mentse el a <CODE>$HOME/.mplayer/DVDKeys</CODE> könyvtárba, így a következő lejátszásnál nem lesz szükség ezek újabb feltörésére.</P> <P>Az <B>MPlayer</B> képes a rendszerben már jelenlevő libdvdread és libdvdcss könyvtárakat is használni, de ez a megoldás <B>nem</B> ajánlott, hibákat eredményezhet, könyvtár-inkompatibilitást, és alacsonyabb sebességet.</P> <H4>DVD navigáció (dvdnav)</H4> <P>A <CODE>libdvdnav</CODE> támogatásának készítése folyamatban volt, de soha nem készült el. Jelenleg nem használható.</P> <P><B>Régi tipusú DVD támogatás - <I>OPCIONÁLIS</I></B></P> <P>Ez akkor hasznos ha pl <B>merevlemezről</B> akarsz kódolt VOB-ot lejátszani. Fordítsd le és installáld a <B>libcss</B> 0.0.1-et (és ne újabbat). Ha az <B>MPlayer</B> nem találja, használd a <CODE>-csslib /útvonal/libcss.so</CODE> opciót. Root jogokkal, vagy egy suid root binárissal kell rendelkezned a használatához.</P> <H4>A DVD-k struktúrája</H4> <P>A DVD lemezek 2048 b/s szektorokat használnak ecc/crc-vel. Általában egy UDF filerendszert tartalmaznak egyetlen sávon, ami több file-t tartalmaz (kis .IFO és .BUK, és nagy (1GB) .VOB). Ezek valódi file-ok és másolhatóak/lejátszhatóak egy mountolt, nem titkosított DVD-ről.</P> <P>Az .IFO file-ok tartalmazzák a navigációs információkat (fejezet/sáv/szög/nyelv, stb), amelyek nélkülözhetetlenek a .VOB-ok értelmezéséhez. A .BUK file-ok ezek másolatai. Ezek a file-ok <B>szektorokban</B> számolnak, így a DVD navigáció helyes implementálásához ezt át kell számítani. Szükséges továbbá a file-ok titkosításának megszüntetése.</P> <P>Az imént felsorolt okok miatt a régi tipusú DVD támogatás egy mountolt DVD filerendszert igényel, és szektor szintű hozzáférést az egységhez. Linux alatt ehhez sajnos root jogokkal kell rendelkezni. Ennek megoldására két lehetőség van:</P> <UL> <LI>Root jogok megadása, vagy egy suid root bináris használata.</LI> <LI>Az UDF filerendszer implementálása userspace-ben. A libdvdread 0.9.x és a libmpdvdkit ezt csinálja (Új típusú DVD támogatás). A kernel UDF meghajtójára nincs szükség. A DVD-t sem kell mountolni, mivel csak a szektor alapú hozzáférés lesz érvényben.</LI> </UL> <P>Néha a /dev/dvd felhasználók számára nem hozzáférhető, így a libdvdread fejlesztők készítettek egy emulációs réteget, amely a szektorcímeket filenév+offset-re alakítja, ezáltal emulálva a "nyers" hozzáférést akár egy mountolt filerendszeren, vagy merevlemezen.</P> <P>A libdvdread még mountolási pontot is elfogad meghajtó helyett, és a <CODE>/proc/mounts</CODE> alapján szerzi meg a meghajtó nevét. Ez a módszer Solaris-ra készült, ahol ezen nevek allokálása dinamikusan történik.</P> <P>Az alapértelmezett DVD egység a <CODE>/dev/dvd</CODE>. Ha a te rendszered ettől eltér, hozz létre egy symlink-et, vagy add meg a helyes nevet a parancssorban. Erre a <CODE>-dvd-device</CODE> opció szolgál.</P> <H4>DVD authentikáció</H4> <P>Ez, és a titkosítás feltörése egy patchelt libdvdcss-sel történik (lásd fent). A módszerek között a <CODE>DVDCSS_METHOD</CODE> környezeti változó állításával lehet választani. A lehetséges értékek: <CODE>key</CODE>, <CODE>disk</CODE>, vagy <CODE>title</CODE>.</P> <P>Ha semmi nincs megadva, a következő módszerek közül választ (alapban: key, title request):</P> <OL> <LI><B>bus key:</B> ez a kulcs az authentikáció után készül el, és ezzel történik a titkosítása a kulcsoknak mielőtt a buszra kerülnének (a hallgatózást elkerülendő).</LI> <LI><B>cached key:</B> az MPlayer keres egy már feltört, megfelelő kulcsot az <CODE>~/.mplayer/DVDKeys</CODE> könyvtárban (gyors).</LI> <LI><B>key:</B> ha nincs cache-elt kulcs, az MPlayer megpróbálja a rendelkezésre álló kulcsokkal feltörni a lemezt.</LI> <LI><B>disk:</B> ha a key módszer nem jár sikerrel, az MPlayer megpróbálhatja egy brute force algoritmussal feltörni a lemezt. Ez a folyamat erősen igényli a CPU-t, és 64Mb memóriát is átmeneti adattárolásra. Ez a metódus mindig működik (lassú).</LI> <LI><B>title request:</B> a lemez kulccsal az MPlayer feltöri a title kulcsot, amik <I>rejtett szektorokban</I> tárolódnak. Az RPC-2 meghajtók régióellenőrzése is ilyenkor történik, ezért az ilyen meghajtókon hibát jelezhet. Ha sikerült, a title kulcs feltörése következik a bus és disk kulcsokkal.</LI> <LI><B>title:</B> ez a módszer lesz kipróbálva, ha a title request sikertelen volt. Itt nincs szükség kulccserére a DVD meghajtóval. Ismétlődő minták alapján megpróbálja kitalálni a title kulcsot. Ritka esetekben sikertelen lehet, például ha nincs elég titkosított adat, vagy a title közepén megváltozik a kulcs. Mindenesetre ez az egyetlen módszer egy merevlemezen tárolt DVD feltörésére, vagy egy helytelen régióval rendelkező RPC2 meghajtón (lassú).</LI> </OL> <P>Az RPC-1-es DVD meghajtók a régióbeállításokat csak a szoftveres DVD lejátszókkal tudják korlátozni, az RPC-2 meghajtók hardveresen vannak limitálva 5 változtatásra. Ajánlott lehet a firmware-t RPC-1-re upgradelni, ha RPC-2-es meghajtód van. Ezek az upgrade-k <A HREF="http://perso.club-internet.fr/farzeno/firmware/">itt</A> találhatóak. Ha nincs firmware upgrade a meghajtódhoz, használd a <A HREF="http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz">regionset</A> parancsot hogy Linux alatt is át tudd állítani a meghajtód régiókódját. <B>Vigyázz:</B> csak 5 lehetőséged van rá.</P> <P><B><A NAME="vcd">4.3. VCD lejátszás</A></B></P> <P>A rendelkezésre álló opciók teljes listája a man page-ben tekinthető meg.</P> <H4>VCD struktúra</H4> <P>A VCD lemezek 2 vagy több sávból állnak:</P> <UL> <LI>Az első sáv egy pár MB-os 2048 byte/szektor méretű adatsáv, egy iso9660 filerendszerrel. Ez általában win32-es VCD lejátszót, vagy más információkat tartalmaz (jpeg, szöveg, stb).</LI> <LI> <LI>A második (és a többi) sáv nyers 2324 byte/szektor méretű MPEG sáv, amely nem filerendszert hanem nyers MPEG-PS adatot tartalmaz, egy csomagot szektoronként. Ezeket a sávokat <B>nem lehet mountolni</B>!</LI> <LI>Léteznek VCD lemezek amelyeken nincs is első sáv (abszolut filerendszer nélkül). Ezek is lejátszhatóak, de nem mountolhatóak.</LI> </UL> <P>A .DAT file-okról:</P> <P>Azok a ~600Mb-os file-ok amik a mountolt VCD-k elso sávján vannak, nem igazi file-ok! Ez egy úgynevezett ISO átjáró, amivel a Windows programok hozzáférhetnek az ilyen file-okhoz (mivel vinnyózon a programok nem tudnak hozzáférni közvetlenül az eszközhöz). Linux alatt nem tudod másolni vagy lejátszani az ilyen file-okat, mert szemetet tartalmaznak. Windows alatt azért lehetséges, mert az iso9660 meghajtója ezeken a file-okon keresztül emulálja a közvetlen lemezhozzáférést.</P> <P>Az alapértelmezett VCD egység a <CODE>/dev/cdrom</CODE>. Ha a beállításod ettől eltér, készíts egy symlink-et, vagy add meg paraméterként a <CODE>-cdrom-device</CODE> opcióval.</P> </BODY> </HTML>