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>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>hdparm -E [sebesség] [meghajtó]</CODE></P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>setcd -x [sebesség] [meghajtó]</CODE></P>

<P>Másik módszer :</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>echo current_speed:4 &gt;/proc/ide/[meghajtó]/settings</CODE></P>

<P>de ehhez rendszergazdai jogosultság szükséges. A következő parancs is
  hasznos lehet:</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>echo file_readahead:2000000 &gt;/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>&nbsp;&nbsp;&nbsp;&nbsp;<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>&nbsp;&nbsp;&nbsp;&nbsp;Speed: <CODE>cdcontrol [-f meghajtó] speed [sebesség]</CODE></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;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>