Gyakran ismételt kérdések Fejlesztés Hogyan készítsek egy megfelelő patchet az MPlayerhez? Készítettünk egy rövid leírást, melyben minden fontos dolgot megtalálsz. Kérünk kövesd az utasításait! Hogyan fordíthatom le az MPlayert egy új nyelvre? Olvasd el a fordítás HOGYAN-t, az elmagyaráz mindent. További segítséget kaphatsz az MPlayer-docs levelezési listán. Hogyan támogathatom az MPlayer fejlesztését? Több mint örömmel fogadjuk a hardver és szoftver felajánlásokat. Ezek segítenek nekünk az MPlayer folyamatos fejlesztésében. Hogyan lehetek én is MPlayer fejlesztő? Mindig örömmel várjuk a programozókat és a dokumentáció készítőket. Olvasd el a technikai dokumentációt hogy egy kicsit megértsd a dolgokat. Majd fel kell iratkoznod az MPlayer-dev-eng levelezési listára és elkezdeni kódolni. Ha a dokumentáció készítésében szeretnél segíteni, csatlakozz az MPlayer-docs levelezési listához! Miért nem használjátok az autoconf/automake párost? Van egy saját, moduláris fordító rendszerünk. Meglehetősen jól teszi a dolgát, így hát miért váltsunk? Ezonkívül nem szeretjük az auto* eszközöket, mint ahogy mások sem. Fordítás A fordítás leáll hibaüzenettel és a gcc valami titokzatos üzenetet ad ki magából, ami a internal compiler error vagy unable to find a register to spill sorokat tartalmazza. Belebotlottál egy gcc hibába. Kérjük jelentsd a gcc csapatnak és ne nekünk. Valamiért úgy tűnik az MPlayer folyamatosan fordító hibákat idéz elő. Azonban mi ezeket nem tudjuk javítani és nem teszünk "kerülőutakat" a kódba a fordító hibái miatt. Hogy elkerüld ezt a problémát, vagy használj ismert és megbízható, stabil verziót a fordítóból vagy frissítsd rendszeresen. Vannak bináris (RPM/deb) csomagok az MPlayerből? Nézd meg a Debian és az RPM részt bővebb infókért! Hogyan fordíthatok 32 bites MPlayert 64 bites Athlon-on? Próbáld meg a következő configure kapcsolókkal: ./configure --target=athlon_xp --cc="gcc -m32" --as="as --32" --with-extralibdir=/usr/lib A fordítás megáll egy ehhez hasonló üzenettel: cfft.c: In function`passf2': cfft.c:556: unable to find a register to spill in class `FLOAT_REGS' cfft.c:556: this is the insn: (insn 235 233 246 (set (subreg:SF (reg/v:DI 29 rmm0 [110]) 0) (minus:SF (mem:SF (plus:SI (mult:SI (reg:SI 1 edx [112]) (const_int 8 [0x8])) (reg/v/f:SI 3 ebx [62])) [4 S4 A32]) (reg:SF 8 st(0) [132]))) 533 {*fop_sf_1_nosse} (insn_list 232 (nil)) (expr_list:REG_DEAD (reg:SF 8 st(0) [132]) (nil))) cfft.c:556: confused by earlier errors, bailing out Ez a gcc 3.2-es verziójának egy ismert hibája, frissíts 3.3-ra a probléma megoldásához. A gcc telepítésének folyamata le van írva a gcc 2.96 részben. Alternatívaként használhatod a külső FAAD függvény könyvtárat, amint az le van írva az AAC fejezetben. A fordítás megáll egy ehhez hasonló üzenettel: In file included from mplayer.c:34: mw.h: In function `mplMainDraw': mw.h:209: Internal compiler error in print_rtl_and_abort, at flow.c:6458 Please submit a full bug report, with preprocessed source if appropriate. Ez a gcc 3.0.4 egy ismert hibája, frissíts a 3.1-re a probléma megoldásához. A gcc telepítésének folyamata le van írva a gcc 2.96 részben. A konfiguráció ezzel a szöveggel ér véget és az MPlayer nem fordul le! Your gcc does not support even i386 for '-march' and '-mcpu' A gcc-d nincs megfelelően installálva, ellenőrizd a configure.log fájlt a részletekért! Mi a probléma a gcc 2.96-tal? Nem javasoljuk a gcc 2.96 használatát! Olvasd el ezt a dokumentumot a részletekért, miért adta ki a Red Hat a gcc 2.96-ot és mi ezzel a probléma. Ha még ezután is tényleg ezt akarod használni, győződj meg róla, hogy a legújabb kiadásod van és add meg a kapcsolót konfiguráláskor. Emlékezz, hogy ez esetben innentől a magad ura vagy. Ne jelents hibákat, ne kérj segítséget a levelezési listákon. Nem fogunk segítséget adni, ha problémákba ütközöl. Nagyszerű, gcc 3.0.1-em van a Red Hattól/Mandraketől, most már jó! Nem, mert ezekkel a fordítókkal is voltak/vannak gondok. Megnézheted az MPlayer által támogatott fordítók státuszának listáját a telepítési részben. .. gcc 2.96 ... (Igen, néhány ember MÉG MINDIG flame-l a gcc 2.96 miatt!) Idézet egy levélből, amit Árpi küldött az MPlayer-users listára (az 'ideg' szó leírása alább található):
És nekünk idegeink vannak. És az idegcounter-ünk (idegszámlálónk) újra és újra túlcsordul. Sajnos az MPlayer elszabadult. Lámerek használják, Linux felhasználók, akik Windowst se tudnak használni, és soha nem próbáltak egy kernelt sem fordítani. Telepítették (alapértelmezett opciókkal) a Mandrake vagy Red Hat vagy SuSE rendszerüket, és anélkül, hogy RTFM-elnének, küldik az üzeneteket, mondván, hogy 'nem működik! segítsetek! kérlek! új vagyok Linuxban! segítsetek! oh! segítsetek!'. Nem lehet megállítani őket, de legalább RTFM-re próbáljuk kényszeríteni őket hogy elolvassák a ./configure és az MPlayer üzeneteit. És ti, okos skacok jöttök és flame-eltek velünk a gcc 2.96-ról és a bináris csomagokról. Ahelyett, hogy segítenétek a felhasználóknak vagy készítenétek a javításokat, hogy megoldjátok a problémáikat. A szabad időnk fele arra megy el, hogy hülye levelekre válaszolgatunk itt és új trükköket és ellenőrzéseket találunk ki elkerülésükre. Van egy mérlegünk. Az egyik oldalon ti vagytok, okos skacok, akik azt mondjátok, hogy gonoszak vagyunk, mert nem szeretjük a hibás gcc 2.96-ot, a másik oldalon pedig a 'Linuxban új' srácok vannak, akik megmutatják nekünk, hogy a gcc 2.96 hibás. Végkövetkeztetés: Nem lehetünk jók. Az emberek fele mindig azt fogja mondani, hogy rosszak vagyunk. Talán le kellene zárni a projektet, zárt forráskódúvá tenni, kereskedelmivé és telepítési támogatást adni hozzá. Akkor abbahagyhatnánk a mostani munkánkat, így a fejlesztés gyorsabban menne és rengeteg pénzt kereshetnénk vele, vehetnénk egy nagy házat, stb. stb. Tényleg ezt akarjátok? Úgy néz ki.
Az SDL kimenet nem működik vagy nem fordul. A probléma... Le lett tesztelve és működik SDL 1.2.x verzióival és talán az SDL 1.1.7+-osokkal is. Nem működik semelyik korábbi verzióval. Így ha ilyen verziót akarsz használni, a magad ura vagy. Még mindig gondjaim vannak az SDL támogatás forgatásával. A gcc vmi undefined reference to SDL_EnableKeyRepeat dologról beszél. Hogyan tovább? Hova telepítetted az SDL könyvtárat? Ha a /usr/local könyvtárba (alapértelmezett), akkor szerkeszd át a legfelső config.mak fájlt és írd bele a -L/usr/local/lib sort a X_LIBS= után. Majd írd be, hogy make. És készen is vagy! Van egy Matrox G200/G400/G450/G550 kártyám, hogyan tudom leforgatni/használni az mga_vid vezérlőt? Olvasd el az mga_vid részt. A 'make' közben az MPlayer X11 könyvtárak miatt panaszkodik. Nem értem, VAN telepítve X-em!? ... de nincsenek telepítve az X fejlesztői csomagjai. Vagy rosszul vannak fent. XFree86-devel* a nevük Red Hat alatt és xlibs-dev Debian Woody ill. libx11-dev Debian Sarge alatt. Nézd meg azt is, hogy a /usr/X11 és a /usr/include/X11 szimbolikus linkek léteznek-e (ez Mandrake rendszereken lehet probléma). Ezzel a paranccsal hozhatod létre őket: # ln -sf /usr/X11R6 /usr/X11 # ln -sf /usr/X11R6/include/X11 /usr/include/X11 A disztribúciód valószínűleg különbözik a Fájlrendszer Hierarchia Szabványtól (magyarul itt). Nem tudom lefordítani az SVGAlib-et. 2.3/2.4-es kernelt használok... Át kell írnod az SVGAlib Makefile.cfg fájlát és kikommentezni a BACKGROUND = y sort. Lefordítottam az MPlayert libdvdcss/libdivxdecore támogatással, de amikor megpróbálom elindítani, azt mondja: error while loading shared libraries: lib*.so.0: cannot load shared object file: No such file or directory Megnéztem, és VAN ilyen fájl a /usr/local/lib könyvtárban... Add hozzá a /usr/local/lib könyvtárat a /etc/ld.so.conf fájlhoz és futtasd le az ldconfig parancsot. A MEncoder fordítás közben szegfaulttal elszáll a szerkesztésnél! Ez a szerkesztő (linker) problémája. A binutils frissítése segíthet (2.11.92.* vagy újabb jó lesz). Mivel ez nem a mi hibánk, kérünk ne küldj jelentést! Az MPlayer meghal szegfaulttal a pthread ellenőrzés alatt! chmod 644 /usr/lib/libc.so Szeretnék MPlayert fordítani Minixen! Mi is. :)
Általános kérdések Van MPlayerrel foglalkozó levelezési lista? Igen. Lásd a levelezési listák részt! Találtam egy csúnya hibát, amikor megpróbáltam lejátszani a kedvenc videómat! Kit értesítsek? Kérünk olvasd el a hiba jelentési útmutatót és kövesd az utasításait. Problémám van a ... codeckel történő lejátszással. Egyáltalán használható? Ellenőrizd a codec státusz oldalt, ha nem tartalmazza a te codecedet, olvasd el a codec dokumentációt, különösen a codec importálás HOGYAN-t és keress meg minket. Ha elindítom a lejátszást, ezt az üzenetet kapom, de látszólag minden rendben van: Linux RTC init: ioctl (rtc_pie_on): Permission denied Rendszergazdai (root) jogok kellenek vagy speciálisan beállított kernel az új időzítő kód használatához. A részletekért lásd az RTC részt a dokumentációban. Hogyan készíthetek mentést a képernyőről? Olyan videó kimeneti vezérlőt kell használnod, ami nem átlapolva dolgozik, csak így tudod elmenteni a képet. X11 alatt a megteszi, Windows alatt a működik. Van egy óra a bal felső sarokban. Hogyan szabadulhatok meg tőle? Nyomd meg az o billentyűt és nézd meg az kapcsolót. A vagy kapcsolók nem működnek az x11 vezérlővel () ... Működnek, de pontosan meg kell adnod a szoftveres méretezést (nagyon lassú) a kapcsolóval. Jobb ha az XF86VidMode támogatást használod: meg kell adnod a és a kapcsolót, és kész. Nézd meg, hogy jó modeline-ok vannak az XF86Config fájlodban és próbáld meg beüzemelni a DGA vezérlőt és az SDL DGA vezérlőjét. Sokkal gyorsabb. Ha az SDL DGA-ja működik, használd azt, ez még gyorsabb lesz. Mit jelentenek a számok a státusz sorban? Például: A: 2.1 V: 2.2 A-V: -0.167 ct: 0.042 57/57 41% 0% 2.6% 0 4 49% A: audió pozíció másodpercekben V: videó pozíció másodpercekben A-V: audió-videó különbség másodpercekben (késleltetés) ct: teljes elvégzett A-V sync javítás lejátszott képkockák (az utolsó keresés óta) dekódolt képkockák (az utolsó keresés óta) a videó codec CPU használata százalékban (szeleteknél és DR-nél ebben benne van a video_out is) video_out CPU használata audió codec CPU használata százalékban képkockák száma, amiket el kellett dobni az A-V sync fenntartásához a kép utófeldolgozás aktuális szintje (ha a kapcsolót használod) aktuálisan használt cache mérete (50% körül normális) lejátszás sebessége az eredeti sebesség függvényében A legtöbbjük hibakeresés céljából szerepel, idővel el lesznek távolítva. Mi van, ha nem akarom, hogy megjelenjenek? Használd a kapcsolót és olvasd el a man oldalt. Miért zérus (0%) a video_out CPU használata néhány fájlnál? Nem nulla, de a codec hívja és így külön nem lehet mérni. Próbáld meg lejátszani a fájlt a majd a kapcsolóval és ellenőrizd le a különbséget, hogy megtudd a video_out sebességét. Direkt renderelést használsz, ahol a codec maga renderel a videó memóriába. Ebben az esetben a dekódolás százaléka tartalmazza a megjelenítés százalékát is. Üzeneteket kapok a /usr/local/lib/codecs/ könyvtárban nem található fájlokról... Töltsd le a bináris codeceket a codec oldalunkról és telepítsd. Umm, mi az az "IdegCounter"? Egy magyar és egy angol szó keveréke. Az "Ideg" a magyarban olyan, mint az angol "nerve", kiejtése olyasmi, mint a "ydaegh". Először az idegesség mérésére használta Árpi, majd néhány (umm) "titokzatos" CVS kód eltűnésre. ;) És mi az a "Faszom(C)ounter"? A "Fasz" egy olyan magyar szó, aminek a jelentését nem akarod tudni, a többi az MPlayer fejlesztők perverz fantáziájához kapcsolódik. A feliratok gyönyörűek, a legszebbek, amit valaha láttam, de lelassítják a lejátszást! Tudom, hogy hihetetlen ... Miután lefuttattad a ./configure-t, írd át a config.h fájlt és cseréld ki az #undef FAST_OSD sort #define FAST_OSD-re. Aztán forgass újra. Tulajdonképpen mi is egészen pontosan ez a libavcodec dolog? Lásd a libavcodec részt. De a configure azt mondja, hogy Checking for libavcodec ... no Be kell szerezned a libavcodec az FFmpeg CVS-éből. Olvasd el az utasításokat a libavcodec fejezetben. Nem érem el a GUI menüt. Jobb gombbal kattintok, de semelyik menüelemet sem tudom elérni! FVWM-et használsz? Próbáld ki ezt: Start -> Settings -> Configuration -> Base Configuration Állítsd át a Use Applications position hints-et Yes-re Hogy tudom az MPlayer a háttérben futtatni? Így: mplayer kapcsolók fájlnév < /dev/null & Lejátszási problémák Nem találom néhány érdekes lejátszási probléma okát. Nem maradt valahol egy codecs.conf fájlod a ~/.mplayer/, /etc/, /usr/local/etc/ vagy hasonló helyen? Töröld le, egy régi codecs.conf fájl ismeretlen problémákat okozhat és csak a fejlesztőknek lett szánva a codec támogatások elkészítéséhez. Felülbírálja az MPlayer belső codec beállításait, ami megbosszulja magát, ha az újabb verziókban inkompatibilis változások jelennek meg. Hacsak nem vagy hozzáértő, ez a tuti recept a láthatóan véletlenszerű és nehezen azonosítható fagyások és lejátszási problémák esetén. Ha még valahol megtalálható a rendszereden, most azonnal töröld le! Hogyan tudok audió/felirat sávot választani a DVD, OGM, Matroska vagy NUT fájlban? A (audio ID) vagy (audió nyelv), (felirat ID) vagy (felirat nyelv) kapcsolókkal, például: mplayer example.mkv -alang eng -slang eng mplayer example.mkv -aid 1 -sid 1 Ha kiváncsi vagy, hogy melyek elérhetőek: mplayer -vo null -ao null -frames 0 -v fájlenév | grep sid mplayer -vo null -ao null -frames 0 -v fájlenév | grep aid Egy véletlen stream-et szeretnék lejátszani az Internetről, de nem sikerül. Próbáld meg lejátszani a stream-et a kapcsolóval. Letöltöttem egy videót egy P2P hálózatról és nem megy! A fájlod valószínűleg sérült vagy fake. Ha egy ismerőstől kaptad és ő azt mondja, hogy működik, hasonlítsd össze az md5sum hash-eket. Most telepítettem az MPlayert. Amikor meg akarok nyitni vele egy videó fájlt, végzetes hibával elszáll: Error opening/initializing the selected video_out (-vo) device. Hogyan oldhatom meg ezt a problémát? Csak változtass a videó kimeneti eszközön. Írd be a következő parancsot a használható videó kimeneti vezérlők listájához: mplayer -vo help Miután kiválasztottad a megfelelő videó kimeneti vezérlőt, írd be a konfigurációs fájlodba. Ezt egy vo = selected_vo sor ~/.mplayer/config fájlhoz adásával és/vagy vo_driver = selected_vo ~/.mplayer/gui.conf fájlba írásával teheted meg. Gondjaim vannak a feliratok megjelenítésével, segítsetek!! Győződj meg róla, hogy helyesen telepítetted a betűtípusokat. Fuss át a lépésein újra a OSD és felirat részben a telepítési fejezetben. Ha TrueType betűtípusokat használsz, ellenőrizd, hogy van FreeType függvénykönyvtárad telepítve. Ellenőrizheted még a feliratodat egy szövegszerkesztőben vagy másik lejátszóval. Próbáld meg átkonvertálni másik formátumra. Miért nem működik az MPlayer Fedora Core-on? Rossz az együttműködés a Fedora-n az exec-shield, prelink és néhány Windows DLL-eket használó alkalmazás (mint például az MPlayer) között. A probléma az, hogy az exec-shield véletlenszerűsíti az összes rendszer függvény könyvtár betöltési helyét. Ez a véletlenszerűsítés prelink időben történik meg (kéthetente egyszer). Amikor az MPlayer megpróbálja betölteni egy Windows DLL-t, egy speciális címre akarja tenni (0x400000). Ha egy fontos rendszer függvény könyvtár már épp ott van, az MPlayer összeomlik. (Tipikus jele ennek a Windows Media 9 fájlok lejátszásakor bekövetkező szegmentálási hiba.) Ha egy ilyenbe belefutsz, két lehetőséged van: Várj két hetet. Akkor újra működni fog. Szerkeszd újra a rendszer összes binárisát egy másik prelink opcióval. Itt van lépésről lépésre: Írd át a /etc/syconfig/prelink fájlt és változtasd meg a PRELINK_OPTS=-mR sort erre: PRELINK_OPTS="-mR --no-exec-shield" touch /var/lib/misc/prelink.force /etc/cron.daily/prelink (Ez újraszerkeszti az összes alkalmazást, ami elég sokáig tart.) execstack -s /eleresi/ut/mplayer (Ez kikapcsolja az exec-shield-et az MPlayer binárisán.) ... működik xine/vlc/...-lal, de nem megy MPlayerrel. Az MPlayer nem xine/vlc/.... Bár van közös kód ezekben a lejátszókban, a codec (DLL) gyűjtemények, szinkronizáció, demultiplexelés, stb. különböző és nem összehasonlítható. Ha van olyan fájlod, amit az MPlayer nem tud lejátszani helyesen de működik más lejátszóval, kérünk olvasd el a hiba jelentési leírást és töltsd fel a fájlt az FTP szerverünkre. AVI fájl lejátszásakor elveszik az audió szinkronizáció. Próbáld meg a vagy a kapcsolót. Ha nem javul, olvasd el a hibajelentési útmutatót és töltsd fel a fájlt az FTP-re. Az MPlayer valamilyen hibával kilép ha l3codeca.acm-t használok. Nézd meg az ldd /usr/local/bin/mplayer kimenetét. Ha tartalmazza ezt: libc.so.6 => /lib/libc.so.6 (0x4???????) ahol a "?" helyén bármilyen szám áll, akkor jó, a hiba nem ott van. Ha ezt látod: libc.so.6 => /lib/libc.so.6 (0x00??????) akkor a probléma a kerneleddel/libc-ddel van. Talán valamilyen biztonsági javítást használsz (például Solar Designer OpenWall patch-e) ami a függvény könyvtárakat nagyon alacsony címre tölti be. Mivel az l3codeca.acm egy nem újraallokálható DLL, muszáj a 0x40000000 címre betölteni, ezt nem változtathatjuk meg. Javítás nélküli kernelt kellene használnod, vagy használd az MPlayer kapcsolóját, hogy letiltsd az l3codeca.acm használatát. A számítógépem az MS DivX AVI-kat ~ 640x300-as felbontásban játssza le, sztereo MP3 hanggal, és lassú. Ha használom a kapcsolót, minden rendben (csak nincs hang). A géped túl lassú vagy a hangkártyád vezérlője hibás. Nézd végig a dokumentációt, hogy megtudd, hogyan javíthatsz a teljesítményen. Az MPlayer meghal ezzel: MPlayer interrupted by signal 4 in module: decode_video Próbáld meg futtatni az MPlayert azon a gépen, ahol lefordítottad. Vagy fordítsd újra futásidejű CPU felismeréssel (./configure --enable-runtime-cpudetection). Ne használd az MPlayert más CPU-n, mint amin fordítva lett, annélkül, hogy a fenti tulajdonságát használnád. Problémám van a [ablakkezelőd] és a teljes képernyős xv/xmga/sdl/x11 módokkal ... Olvasd el a hiba jelentési leírást és küldj egy megfelelő hiba jelentést. Vagy próbaként kísérletezhetsz a kapcsolóval. Ezt kapom MPEG fájlok lejátszásakor: Can't find codec for video format 0x10000001! Túl régi, idejétmúlt codecs.conf van a ~/.mplayer/, /etc/, /usr/local/etc/ vagy valamelyik hasonló könyvtárban. Töröld le, már nincs rá szükség. VAGY van vagy más hasonló opció a konfigurációs fájl(aid)ban. Ha elindítom az MPlayert KDE alatt, csak egy üres képet kapok és semmi sem történik. Majd kb. egy perc után elindul a videó lejátszás. A KDE arts zene démonja blokkolja a hang eszközt. Vagy megvárod, amíg a videó elindul vagy kikapcsolod az arts-démont a vezérlőpanelben. Ha arts-ot akarsz használni, add meg az audió kimenetnek a mi saját, natív arts audió vezérlőnket (). Ha nem működik vagy nincs beforgatva, próbáld meg az SDL-t () és győződj meg róla, hogy az SDL tudja kezelni az arts-ot. Másik lehetőség, hogy az MPlayert artsdsp-vel indítod. Van egy AVI fájlom, ami szürke képernyőt produkál kapcsolóval történő lejátszáskor és zöldet a kapcsolóval. Ez nem DivX fájl, hanem egy MS MPEG4v3. Ha régi verziójú codecs.conf fájlod van a ~/.mplayer/, /etc/, /usr/local/etc/ vagy hasonló helyen, töröld le. Amikor filmet játszok le, szétesik a videó-audió szinkron és/vagy az MPlayer összeomlik ezzel az üzenettel: DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer! Ennek több oka lehet. A CPU-d és/vagy videó kártyád és/vagy buszod túl lassú. Az MPlayer ebben az esetben írja ki ezt az üzenetet (és az eldobott képkockák száma gyorsan nő). Ha ez egy AVI fájl, talán rossz az interleaving. Próbáld meg a kapcsolót. A hang vezérlőd hibás, vagy ALSA 0.5-öt használsz az kapcsolóval. Lásd a hangkártya részt. Ha az AVI-nak hibás a fejléce, próbáld meg a és/vagy a kapcsolót. Van egy MJPEG fájlom, ami más lejátszókkal megy, de csak fekete képernyőt kapok MPlayerrel. Használj másik codec-et a fájl lejátszásához, próbáld meg a -et. Ha menteni próbálok a tuneremről, működik, de a színek érdekesek lesznek. Más alkalmazásokkal minden rendben van. A kártyád valószínűleg támogatottként jelöl meg bizonyos színtereketet, miközben nem támogatja őket. Próbáld meg YUY2-vel az alapértelmezett YV12 helyett (lásd a TV fejezetet). A/V szinkronizálási problémáim vannak. Néhány AVI fájlom rendesen lejátszódik, de néhány dupla sebességgel megy! Hibás hang kártyád/vezérlőd van. Legvalószínűbb, hogy rögzítve van 44100Hz-en, és olyan fájlt akarsz lejátszani, amiben 22050Hz-es audió van. Próbáld ki a resample audió szűrőt. Az összes WMV (és más...) fájl, amit lejátszok, egy zöld/szürke ablakot nyit meg, és csak hang van! Az MPlayer ezt írja: Detected video codec: [null] drv:0 (NULL codec (no decoding)) Ha van egy régi codecs.conf fájlod a ~/.mplayer/, /etc/, /usr/local/etc/ vagy hasonló könyvtárban, töröld le. Furcsa százalékos értékeket kapok (nagyon magasak), miközben a notebook-omon játszok le fájlokat. A notebookod energia menedzselő / energia takarékoskodó rendszerének (BIOS, nem kernel) hatása. Dugd be a külső áramkábelt mielőtt bekapcsolod a notebookodat. Megnézheted, hogy a cpufreq (SpeedStep interfész Linuxra) segít-e neked. Az audió/videó teljesen elveszti a szinkront ha az MPlayert root-ként futtatom a notebookon. Normálisan működik, ha felhasználóként futtatom. Ez megint csak az energia menedzsment hatása (lásd feljebb). Dugd be a külső áramkábelt mielőtt bekapcsolod a notebookodat vagy használd a kapcsolót. Film lejátszása közben hirtelen szaggatottá válik és a következő üzenetet kapom: Badly interleaved AVI file detected - switching to -ni mode... Rossz a fájl interleave-je és a sem működik jól. Próbáld meg a kapcsolót. Videó/audió vezérlő problémák (vo/ao) Hogy tudom használni a dmix-et az MPlayerrel? Miután beállítottad az asoundrc-t használd a kapcsolót. Nincs hang videó lejátszása közben, és egy ehhez hasonló üzenetet kapok: AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian) audio_setup: Can't open audio device /dev/dsp: Device or resource busy couldn't open/init audio device -> NOSOUND Audio: no sound!!! Start playing... KDE-t vagy GNOME-ot futtatsz ARTS vagy ESD hang démonnal? Próbáld meg kikapcsolni a hang démont vagy használd a vagy kapcsolót, hogy az MPlayer ARTS-ot vagy ESD-t használjon. Talán az ALSA-t OSS emuláció nélkül futtatod, próbáld meg betölteni az ALSA OSS kernel modulját vagy megadni a kapcsolót a parancssorban a közvetlen ALSA audió kimeneti vezérlő használatához. Mi van a DGA vezérlővel? Nem találom! ./configure automatikusan megtalálja a DGA vezérlődet. Ha a nem írja a DGA-t, akkor gond van az X telepítéseddel. Próbáld ki a ./configure --enable-dga parancsot és olvasd el a DGA részt. Alternatívaként próbáld ki az SDL DGA vezérlőjét a kapcsolóval. Oké, mutatja a DGA vezérlőt, de engedélyekről panaszkodik. Segítsetek! Csak akkor működik, ha root-ként futtatod! Ez egy DGA korlátozás. Root-tá kell válnod (su -), és újra próbálni. A másik megoldás, hogy az MPlayert SUID root-tá teszed, de ez nem javasolt! chown root /usr/local/bin/mplayer chmod 755 /usr/local/bin/mplayer chmod +s /usr/local/bin/mplayer Ez egy nagy biztonsági kockázat! Soha ne csináld ezt meg egy szerveren vagy egy számítógépen, amit nem ellenőrzöl teljesen, mert más felhasználók root jogokat szerezhetnek a SUID root-os MPlayer segítségével. Mi figyelmeztettünk. Ha XVideo-t használok, a Voodoo 3/Banshee-m azt mondja: X Error of failed request: BadAccess (attempt to access private resource denied) Major opcode of failed request: 147 (MIT-SHM) Minor opcode of failed request: 1 (X_ShmAttach) Serial number of failed request: 26 Current serial number in output stream:27 A tdfx vezérlő az XFree86 4.0.2/4.0.3-ban hibás volt. Ezt javította az XFree86 4.1.0 CVS log #621 hibajavító foltja. Frissíts hát XFree86 4.1.0 vagy későbbi verzióra. Alternatívaként vagy töltsd le (legalább) a DRI 0.6-os verzióját a DRI weboldaláról, vagy használd a DRI CVS-ét. Az OpenGL () kimenet nem működik (megáll/fekete ablak/X11 hibák/...). Az OpenGL vezérlőd nem támogatja a dinamikus textúra váltást (glTexSubImage). Tudvalevő, hogy nem működik az nVidia bináris szemetével. Működik az Utah-GLX/DRI és a Matrox G400 kártyákkal, valamint a DRI-vel és Radeon kártyákkal. Nem működik DRI-vel és egyéb kártyákkal. Nem megy 3DFX kártyákkal, mert 256x256-os textúra méret határuk van. Van egy nVidia TNT/TNT2 kártyám, és sávom furcsa szinekkel, pont a film alatt! Kinek a hibája ez? Ez az nVidia bináris X vezérlőjének a hibája. Ezek a hibák CSAK a TNT/TNT2 kártyákkal jelentkeznek, és mi semmit sem tehetünk az ügyben. A probléma javításához frissíts a legújabb nVidia bináris vezérlőre. Ha még mindig rossz, panaszkodj az nVidia-nak! Van egy nVidia XYZ kártyám és amikor kattintok a GUI képernyő ablakán, hogy megjelenjen a GUI panel, egy fekete négyzet tűnik fel ott, ahol kattintottam. A legújabb vezérlőm van. Igen, az nVidia javította az előző hibát (feljebb) és bemutatott egy újat. Gratulálj nekik. FRISSÍTÉS: Az nVidia szerint már ez is javítva lett. Nincs igazság a földön ...! Az SDL-nek csak x11 kimenete van, nincs xv! Próbáld meg újra azt az x11 kimenetet újra. Majd próbáld meg a kapcsolót. Látod a különbséget? Nem?! Oké, jön a felhomályosítás: az SDL x11 kimenete xv-t használ, ha elérhető, emiatt nem kell aggódnod... Megjegyzés: Az SDL-lel előírhatod/letilthatod az Xv használatot a és kapcsolókkal. DVD lejátszás Mi van a DVD navigációval/menükkel? Az MPlayer nem támogatja a DVD menüket súlyos tervezési korlátok miatt, amik megakadályozzák a still images és az interaktív tartalom használatát. Ha szép menüket akarsz használni, másik lejátszót kell használnod, mint pl. a xine, a vlc vagy az Ogle. Ha DVD navigációt akarsz látni az MPlayerben, neked magadnak kell megcsinálnod, de vigyázz, nagy fába vágod a fejszédet. DVD lejátszás közben ezzel a hibával találkozok: mplayer: ifo_read.c:1143: ifoRead_C_ADT_internal: Assertion nfo_length / sizeof(cell_adr_t) >= c_adt->nr_of_vobs' failed. Ez egy ismert libdvdread 0.9.1/0.9.2 hiba. Használd a libmpdvdkit2-t, ami benne van az MPlayer forrásában és alapértelmezett. Le tudom fordítani a libdvdread-ot és libdvdcss-et a kedves kis SPARC gépemen Solaris alatt? Ki tudja... Azt mondják, hogy működik, légy szíves teszteld és küld róla véleményt. Olvasd el a libdvdread dokumentációját és a weboldalukat. Nem mi vagyunk a libdvdread készítői. Használd a libmpdvdkit2-t, ami benne van az MPlayer forrásában, és alapértelmezett. Mi van a feliratokkal? Meg tudja őket jeleníteni az MPlayer? Igen. Lásd a DVD fejezetet. Hogy tudom beállítani a DVD meghajtóm régió kódját? Nincs Windows-om! Használd a regionset eszközt. Muszáj (setuid) root-nak lennem, hogy DVD-t nézhessek? Nem. De megfelelő jogokkal kell rendelkezned a DVD eszköz bejegyzésére (a /dev/ könyvtárban). Honnan tudom megszerezni a libdvdread és libdvdcss csomagokat? Nem kell. Használd a libmpdvdkit2-t, ami benne van az MPlayer forrásában, és alapértelmezett. Az említett csomagokat beszerezheted az Ogle siteról. Lehetséges, hogy csak a kijelölt fejezeteket játszam le/kódoljam? Igen, próbáld ki a kapcsolót. A DVD lejátszásom lassú! Használd a kapcsolót (ahogy le van írva a man oldalon) és próbáld meg engedélyezni a DMA-t a DVD meghajtóra a hdparm eszközzel (ahogy le van írva a CD fejezetben). Másoltam egy DVD-t vobcopy-val. Hogyan tudom lejátszani/elkódolni a merevlemezemről? Használd a kapcsolót, amivel megadhatod a könyvtárat, ahol a fájlok vannak: mplayer dvd://1 -dvd-device /eleresi/ut/a/konyvtarhoz Speciális kérések Ha az MPlayert megállítom és megpróbálok ugrani vagy megnyomok bármilyen gombot, az MPlayer felfüggeszti a megállítást. Szeretnék keresni a megállított filmben. Ezt megvalósítani nagyon nehéz lenne az A/V szinkronizáció elveszítése nélkül. Az összes kísérlet eddig kudarcba fulladt, de örömmel fogadjuk a javításokat. Szeretnék +/- 1 képkockát ugrani a 10 másodperc helyett. Egy képkockával előre léphetsz a . gombbal. Ha a film nem volt megállítva, akkor ezután megáll (lásd a man oldalt a részletekért). A visszafelé lépés valószínűleg nem lesz mostanában megvalósítva. Hogyan tudom rávenni az MPlayert, hogy emlékezzen az opciókra amiket használtam egy bizonyos fájlnál, pl. movie.avi? Hozz létre egy movie.avi.conf nevű fájlt a fájl-specifikus kapcsolókkal és tedd a ~/.mplayer vagy a filmmel azonos könyvtárba. Elkódolás Hogy tudok kódolni? Olvasd el a MEncoder részt. Hogyan tudok egy teljes DVD részt átteni egy fájlba? Ha kiválasztottad a részt és meggyőződtél róla, hogy az MPlayer jól játsza le, használhatod a kapcsolót. Például: mplayer -dumpstream dvd://5 -dumpfile dvd_dump.vob kimenti a DVD 5. részét a dvd_dump.vob nevű fájlba. Hogy tudok automatikusan (S)VCD-t készíteni? Használd a mencvcd szkriptet a TOOLS alkönyvtárból. Ezzel DVD-ket és más filmeket tudsz VCD vagy SVCD formátumba kódolni és még közvetlenül CD-re is írhatod őket. Hogyan tudok (S)VCD-t készíteni? A MEncoder újabb verziói direktben tudnak MPEG-2-es fájlokat készíteni, amiket fel lehet használni VCD vagy SVCD készítéshez és valószínűleg minden platformon lejátszhatóak (például videó megosztása egy digitális camcorderről a számítógép-tudatlan barátaiddal). mencoder -of mpeg -oac toolame -toolameopts br=224 -srate 44100 \ -af-adv force=1 -ovc lavc -mpegopts format=xsvcd -vf harddup -ofps 25 \ -lavcopts vcodec=mpeg2video:mbd=2:keyint=25:vrc_buf_size=917:vrc_minrate=600:vbitrate=2500:vrc_maxrate=2500 \ in.avi -o xsvcd.mpg Ez a bemeneti in.avi fájlt a kimeneti xsvcd.mpg-be fogja konvertálni, az audiót toolame-mel alakítja át 224kbps-sel, a videót pedig libavcodec-kel 2500kbps-sel, így biztosítva, hogy a bitráta soha nem megy 600 alá és soha nem lépi át a 2500kbps-t, hogy tiszteletben tartsa az (S)VCD normát és mégis szép lejátszást biztosítson. Kérlek vedd figyelembe, hogy ahhoz, hogy a GOP struktúra SVCD kompatibilis legyen, a opciónak 15-nek kell lennie PAL és 18-nak NTSC esetén, bár nagyon sokszor az ennél sokkal nagyobb GOP-pal rendelkező fájlokat is jól játszák le (a 25 soha nem okoz problémát). Az el is hagyható az esetek többségében (mivel a forrásod már valószínűleg a megfelelő framerátával rendelkezik), egyébként a PAL-nak 25, az NTSC-nek 30000/1001 kell. Továbbá a PAL SVCD-k csak a 480x576 és 352x288 felbontásokat támogatják, míg az NTSC csak a 480x480 és 352x240-et. Ha a forrás videónak más a felbontása, át kell méretezned a videó szűrővel, ez esetben a szűrő láncod valahogy így fog kinézni egy NTSC SVCD esetén: vagy így egy PAL SVCD esetén: . Ami az audiót érinti, az SVCD csak MPEG-1 layer II audiót támogat, ezért a toolame, twolame vagy végső megoldásként a libavcodec MPEG-1 layer II kódolójának valamelyikét kell használnod (a minősége messze elmarad a másik két függvénykönyvtárétól). Mind a toolame, mind a twolame ugyan azt a szintaktikát használják, így csak azon múlik a dolog, hogy melyiket telepítetted, a példát csak egy kicsit kell módosítani. Ha a libavcodec MPEG-1 layer II kódolóját kell használnod, cseréld ki a -oac toolame -toolameopts br=224 részt ha toolamet használsz vagy a -oac twolame -twolameopts br=224 részt ha twolamet használsz erre: -oac lavc -lavcopts acodec=mp2:abitrate=224 Az eredmény xsvcd.mpg egy kiterjesztett SVCD (ezért hívják xsvcd-nek), főleg mert nem tartalmaz scan offszeteket. Ha SVCD képet kell belőle csinálnod, akkor le kell rajta futtatnod a vcdimager-t. Hogy tudok összefűzni két videó fájlt? Az MPEG fájlok csak szerencsés esetben fűzhetőek össze egy fájlba. AVI fájlokhoz használhatod a MEncoder több fájl támogatását így: mencoder -ovc copy -oac copy -o out.avi file1.avi file2.avi Ez csak akkor működik, ha a fájlok ugyan felbontásúak és ugyanolyan codec-kel készültek. Megpróbálhatod az avidemux-ot és az avimerge-t (a transcode eszközcsomag részei). Hogyan tudom megjavítani a hibás indexű vagy átlapolt AVI fájlokat? Egyszerűen csak másold át a videó és az audió folyamokat egy új fájlba és a MEncoder legenerálja az index-et. Természetesen ezzel nem tudod kijavítani a videó és/vagy audió folyamban lévő esetleges hibákat. Ez megjavítja a hibás átlapolású fájlokat is, így a kapcsolót ezután már nem kell használni hozzájuk. mencoder -idx input.avi -ovc copy -oac copy -o output.avi Hogyan tudom kijavítani egy AVI fájl képénnek méretarányát? Ilyet is tudsz csinálni hála a MEncoder kapcsolójának, ami felülbírálja az AVI OpenDML vprp fejlécébe beírt értéket. Például: mencoder input.avi -ovc copy -oac copy -o output.avi -force-avi-aspect 4/3 Nem tudok DVD feliratot kódolni az AVI fájlba! Helyesen kell megadnod a kapcsolót! Csak a kiválasztott fejezeteket tudom elkódolni a DVD-ről? Használd a kapcsolót pontosan, például: 2GB+ méretű fájlokkal próbálok dolgozni VFAT fájlrendszeren. Működni fog? Nem, a VFAT nem támogatja a 2GB+ fájlokat. Miért negatív a MEncoder által kiírt javasolt bitráta? Mert a bitráta, amivel kódoltad az audiót túl nagy ahhoz, hogy a film ráférjen bármilyen CD-re. Ellenőrizd, hogy a libmp3lame megfelelően van-e telepítve. Nem tudok elkódolni ASF fájlokat AVI/MPEG-4 (DivX)-be, mert 1000 fps-t használ? Mivel az ASF változó képkocka arányokat használ, az AVI pedig fix értéket, kézzel kell megadnod a kapcsoló segítségével. Hogy tudok feliratot tenni a kimeneti fájlba? Csak add meg a (vagy , megfelelően) kapcsolót a MEncodernek. Hogyan tudom csak a zenét elkódolni egy zenés videóból? Közvetlenül nem lehetséges, de megpróbálhatod a következőt (figyelj a & jelre az mplayer parancs végén): mkfifo encode mplayer -ao pcm -aofile encode dvd://1 & lame kapcsoloid encode music.mp3 rm encode Így bármilyen kódolót használhatsz, nem csak a LAME-t, csak cseréld ki a lame-t a kedvenc audió kódolóddal a fenti parancsban.