Multi-threaded filmlejatszas (MplayerXP)

Nemreg osszefutottam egy 1920xXXXX animacioval. Smplayer-nek elegge beletort a bicskaja, VLC-vel mar nezheto sebesseget birtam kicsikarni. Most korbeneztem mit lehet tenni azert hogy tobb magot is hasznaljon a lejatszo (igy nyerni legalabb egy folyamatos lejatszast)..

Ezt talaltam: http://mplayerxp.sourceforge.net/
Mi is ez ? Egy multi-threaded mplayer.. 'allitolag'.

A kerdesem: Van aki probalta? Tapasztalatok?

Amin akadt a film (smplayer/mplayer-el): Intel Q6600 @ 2.4Ghz (perf.) , Fedora10 x86-64.

Hozzászólások

A kérdéseket miért nem a fórumban teszed fel? A blog nem erre való.

--
trey @ gépház

Mostanában olvasgattam én is a témában és nagyon úgy fest, hogy linux alatt ez egyelőre elég macerás. H264 hardveres gyorsítás nincs -hiába tudja sok vga kártya, linux alatt nem megy-, a lejátszók meg 1 magot használnak, úgyhogy mindegy, hogy 1 vagy 8 magos erőgéped van, kb 3GHz alatt csak szaggatás, rosszabb esetben diavetítés van 1080p filmekkel.

Ahogy olvastam talán az egyetlen megoldás, hogy a windowsos CoreAVC codecet valahogy be lehet izzítani MPlayer alá. De ennek nekiállni még nem volt lelkierőm, ráadásul a coreavc nem ingyenes.

Ha jutsz valamire azért kíváncsi lennék.

Azért az nvidia elkezdte tolni a VDPAU apit (pl. h264 dekódolás gyorsítása) és mplayer/ffmpeg patchet is készítettek.
http://www.nvnews.net/vbulletin/forumdisplay.php?f=14

--
"Dude, you can't take something off the Internet.. that's like trying to take pee out of a swimming pool."

Hát, én most forgattam egy mplayer-t coreavc-vel (1.8.5), működik is, de nem estem hasra! Igaz, hogy annyira nem szaggat, de néha kockásodik, nem tudom mitől, vagy csak a videó hibája, fogalmam nincs, de ffmpeg-es decoder-el semmi gond, csak ugye szaggat :(. Próbáltam 1.7.0-ás coreavc-vel, a helyzet ugyanaz :(... Ja, a film, az volt, amit a topicindító próbál, a gép pedig egy 1.6-os core2duo 64bit-es rendszerrel...

<= Powered By Ubuntu & Gentoo Linux =>

'Software is like sex: It's better when it's free!'
By Linus Torvalds

Akkor nem vagyok egyedül :(, pedig ez nem csak a coreavc hibája, mert találtam itt egy csomagot, előre fordított mplayer-el, benne a coreavc patch-el, és megnéztem ezzel is, itt is vannak hibák, de sokkal kevesebb, mint abban, amit én forgattam, pedig ez egy régebbi svn... Minden esetre, a gyári mplayer nagyon jól viszi, nem tudom, milyen patch-eket tartalmazhat, és még optimalizálva sincs...

<= Powered By Ubuntu & Gentoo Linux =>

'Software is like sex: It's better when it's free!'
By Linus Torvalds

Elméletileg az Mplayer is képes több szálon kódolni, SMPlayer alatt is beállítható:
Preferences -> Performance -> Threads for decoding

Érdemes még ezekkel is próbálkozni:
Preferences -> General -> Video -> Draw video using slices
Preferences -> Performance -> H264 -> Loop filter (Skip only on HD videos)

"Preferences -> Performance -> Threads for decoding"

Hmm, nálam ilyen beállítási lehetőség nincs.

Ubuntu 8.10 64bit repókból telepítve:
SMPlayer - Version: 0.6.1 (SVN r1304)
Compiled with Qt 4.4.0
Using MPlayer 1.0rc2 (r24722)

A többi beállítást gyakorlatilag már mind végigzongoráztam, az egyetlen ami segít valamelyest, az a "skip loop filter" opció, de ez sem tökéletes -kevésbé akadozik ugyan, de akadozik-, ráadásul a képminőség rovására megy (blokkosodás). Ugyaneddig a VLC-vel is eljutottam.

Core2Duo E6300 @ 2.8GHz, 5G RAM, NV7300GT 256MB, Ubuntu 8.10 x86-64

Laptopon még rosszabb, ott a sima CoreDuo-val 1.86GHz-en diavetítés van (pedig ezt szeretném a tv-re kötni).

Nekem van ilyen beallitas:
Version: 0.6.5.1 (SVN r2237)
Using Qt 4.4.3 (compiled with Qt 4.4.3)

Using MPlayer SVN r27514

RPMfusion - FC10 - x86-64

Ubuntu 8.10 64bit repókból telepítve: > Tudsz letolteni frissebbet az smplayer oldalarol. Probald meg azzal.

http://kepfeltolto.hu/i/?312812&t=img

ps.: probalj meg egy VLC-t hatha az segit neked is valamit...
-----------
"Debian stalled (stable) in contrast to Debian may work (testing) and Debian broken (experimental)"

Keress ra a SoC kereteben keszult per frame threading-re kepes ffmpeg patch-et es told bele mplayerbe jo linux felhasznalo modjara. Utana menni fog. Az amit fentebb ajanlottak az csak slice based threading, ami sovany leven a release-ek tobbsege nem hasznalja. Esetleg nezz utana hogy all az XBMC linuxos portja.

---
pontscho / fresh!mindworkz

Helyzetjelentes: Ugy nez ki a helyzet nem remenytelen. Barmi erdemesre jutunk, azt atirom majd egy topicba, a blogpostot meg torlom.
-----------
"Debian stalled (stable) in contrast to Debian may work (testing) and Debian broken (experimental)"

Ne. Erkezhet ide olyan komment is, ami neked ugyan nem segitseg, masnak viszont valamilyen oknal fogva gondolatebreszto lehet. Ne vedd el a lehetoseget. Szvsz ha mar igy alakult, akkor jo ez itt igy ahogy van, a jovoben meg probald meg hasznalni a forumot.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Bár, ez sem megoldás, de próbáld így indítani az mplayer-t: $ mplayer -sws 0 -mc 0 -vfm ffmpeg -lavdopts lowres=1:fast:skiploopfilter=all:threads=2 -cache 32768 (a -vfm ffmpeg csak azért kell, mert egyébként nálam coreavc-vel kezdené játszani, az előrébb van a codecs-conf- ban;) )
Nálam ezzel akadás nélkül viszi, igaz, hogy elvileg van minőségromlás, gyakorlatilag, nem nagyítóval nézem a filmet :P.

<= Powered By Ubuntu & Gentoo Linux =>

'Software is like sex: It's better when it's free!'
By Linus Torvalds

Ja, és még vmi! ubuntu hardy alatt próbálom, és a gyári mplayer ffmpeg-el, sokkal jobban viszi, mint az új, amit magamnak fordítottam optimalizálva, mai (ill már tegnapi :D) svn-ből. A különbség főleg ennél a videónál látszik: http://4b4ddon.extra.hu/1080psample.rar, én nem tudom, milyen patch-ekett tettek bele az ubuntus srácok, de jól sikerült ;), holnap kiderítem...

<= Powered By Ubuntu & Gentoo Linux =>

'Software is like sex: It's better when it's free!'
By Linus Torvalds

Na, én megoldottam ;). A gyári ubuntus mplayer-t a legújabb ubis patch-ekkel, újraforgattam optimalizálva, és mindenféle trükk nélkül tökéletesen játsza a filmeket (1080)! Van fent egy svn build is, coreavc-vel, néha jól jöhet ;). Sajna az ubis-ba nem tudtam beheggesteni a coreavc patch-et! Próbáltam az ffmpeg-soc patch-eket is, de sajna nem nagyon jött össze! Lefordult, de nem sok sebességnövekedés volt, vagy én csináltam vmit rosszul :(...

<= Powered By Ubuntu & Gentoo Linux =>

'Software is like sex: It's better when it's free!'
By Linus Torvalds

- A vas: CPU: Intel(R) Core(TM)2 CPU T5200 @ 1.60GHz (Family: 6, Model: 15, Stepping: 6) laptop, intel 945 gm videókarival (természetesen xv-vel néztem a videót, de amúgy semmi extrát nem tud ez a kártya, gondolok itt a hd videó hw gyorsítására)
- Igen, a mindenféle trükk nélkül pont azt jelenti ;).
- Deb-et nem csináltam, de ha akarsz magadnak fordítani, segítek (több okból kifolyólag, de ezeket most nem részletezném...)! Amugy, én 64bit-re forgattam!

Még annyit, hogy mindkét magot használja lejátszáskor én a proci 60-70%-on dolgozik!

<= Powered By Ubuntu & Gentoo Linux =>

'Software is like sex: It's better when it's free!'
By Linus Torvalds

"- Deb-et nem csináltam, de ha akarsz magadnak fordítani, segítek (több okból kifolyólag, de ezeket most nem részletezném...)! Amugy, én 64bit-re forgattam!"

Megköszönném, ha leírnád a dolog menetét, meg hogy mire kell figyelni. Szerintem ide is jöhet, hátha másnak is hasznára válik. Hét vége felé lesz időm, akkor ki is próbálnám.

Szia.

Ok, akkor ide írom, remélem boldogulsz ;)
Először is, töltsd le a mPlayer 1.0 rc2 eredetit, majd a legújabb ubuntu-s patch csomagot, persze az amr-es részt nem részletezem, ha akarsz amr támogatást, akkor ahhoz is kellenek a csomagok! A x264-et viszont leírom, mert az nem mindegy, mert a legújabb svn-el nem fordul le az mplayer, szóval, töltsd le ezt, ezzel biztos fordul! Ehhez kell a yasm, yasm letölt lefordít (configure, make, make install), majd x264-el ugyanez a játék. Ha ezzel megvagy, jöhetnek az mplayer fordításához szükséges csomagok, én ezeket tettem fel, mert a ezekre a támogatásokra volt szükségem, majd látog, hogy neked kell-e, vagy nem! Szóval, apt-get install:
libapr1 libaprutil1 libpq5 libsvn1 subversion git-core comerr-dev ladspa-sdk libaa1-dev libarts1c2a libatk1.0-dev libaudio-dev libaudiofile-dev libavahi-client-dev libavahi-common-dev libcaca-dev libcairo-directfb2 libcairo-directfb2-dev libcairo2-dev libcdio-dev libcdparanoia0-dev libcucul-dev libcupsys2-dev libdbus-1-dev libdirectfb-dev libdirectfb-extra libdts-dev libdv4-dev libenca-dev libesd0-dev libexpat1-dev libfaac-dev libfontconfig1-dev libfreetype6-dev libfribidi-dev libgcrypt11-dev libggi2-dev libggiwmh0 libggiwmh0-dev libgif-dev libgii1-dev libgl1-mesa-dev libglib2.0-dev libglu1-mesa-dev libgnutls-dev libgnutlsxx13 libgpg-error-dev libgtk-directfb-2.0-0 libgtk-directfb-2.0-dev libgtk2.0-dev libice-dev libjack-dev libjpeg62-dev libkadm55 libkrb5-dev libladspa-ocaml libladspa-ocaml-dev liblame-dev liblcms1-dev liblivemedia-dev liblzo2-dev libmng-dev libmpcdec-dev libogg-dev libopenal-dev libopencdk10-dev libpango1.0-dev libpixman-1-dev libpng12-dev libpopt-dev libpthread-stubs0 libpthread-stubs0-dev libpulse-dev libpulse-mainloop-glib0 libqt3-headers libqt3-mt libqt3-mt-dev libsdl1.2-dev libslang2-dev libsm-dev libsmbclient-dev libsmpeg-dev libsmpeg0 libspeex-dev libsvga1-dev libsysfs-dev libtasn1-3-dev libtheora-dev libtwolame-dev libungif4-dev libungif4g libvorbis-dev libx11-dev libxau-dev libxcb-shm0 libxcb-shm0-dev libxcb-xlib0-dev libxcb-xv0 libxcb-xv0-dev libxcb-xvmc0 libxcb-xvmc0-dev libxcb1-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxmu-dev libxmu-headers libxrandr-dev libxrender-dev libxss-dev libxt-dev libxv-dev libxvidcore4-dev libxvmc-dev libxxf86dga-dev libxxf86vm-dev mesa-common-dev ocaml-base-nox ocaml-findlib ocaml-interp ocaml-nox qt3-dev-tools x11proto-composite-dev x11proto-core-dev x11proto-damage-dev x11proto-fixes-dev x11proto-input-dev x11proto-kb-dev x11proto-randr-dev x11proto-render-dev x11proto-scrnsaver-dev x11proto-video-dev x11proto-xext-dev x11proto-xf86dga-dev x11proto-xf86vidmode-dev x11proto-xinerama-dev xtrans-dev zlib1g-dev

Ha ezzel megvagy, kitömöríted az mplayer eredeti-t, majd annak a gyökerébe (ahol a configure scipt-je is van), kitömöríted az ubuntu-s patch-et (mplayer_1.0~rc2-0ubuntu17.diff), majd kiadod a "patch -p1 -i mplayer_1.0~rc2-0ubuntu17.diff" parancsot, ezzel alkalmazod a patch-eket! Utánna mehet a configure, make, make install!

Remélem boldogulsz, és, hogy másnak is hasznos lesz ez a kis leírás ;)!

üdv

<= Powered By Ubuntu & Gentoo Linux =>

'Software is like sex: It's better when it's free!'
By Linus Torvalds

Próbálom amit írtál, de az mplayer nem fordul le. (yasm, x264, patch megvolt), az mplayer make ide jut:


vo_ivtv.c: In function 'ivtv_reset':
vo_ivtv.c:79: error: storage size of 'sd' isn't known
vo_ivtv.c:80: error: storage size of 'sd1' isn't known
vo_ivtv.c:84: error: 'IVTV_STOP_FL_HIDE_FRAME' undeclared (first use in this function)
vo_ivtv.c:84: error: (Each undeclared identifier is reported only once
vo_ivtv.c:84: error: for each function it appears in.)
vo_ivtv.c:87: error: 'IVTV_IOC_STOP_DECODE' undeclared (first use in this function)
vo_ivtv.c:97: error: 'IVTV_IOC_START_DECODE' undeclared (first use in this function)
vo_ivtv.c:80: warning: unused variable 'sd1'
vo_ivtv.c:79: warning: unused variable 'sd'
make[1]: *** [vo_ivtv.o] Error 1
make[1]: Leaving directory `/home/zsolti/Desktop/MPLAYER/mplayer_1.0~rc2.orig/libvo'
make: *** [libvo/libvo.a] Error 2

Tovább megy, de még mindig nem akarja az igazságot:

-----------


libx264.c: In function 'X264_init':
libx264.c:165: error: 'x264_param_t' has no member named 'b_bframe_adaptive'
libx264.c:254: error: 'struct <anonymous>' has no member named 'psz_rc_eq'
make[1]: *** [libx264.o] Error 1
make[1]: Leaving directory `/home/zsolti/Desktop/MPLAYER/mplayer_1.0~rc2.orig/libavcodec'
make: *** [libavcodec/libavcodec.a] Error 2
zsolti@acheron:~/Desktop/MPLAYER/mplayer_1.0~rc2.orig$ 

-----------

Majd hétvégén elszórakozok vele.

Igen, először azzal az x264-gyel próbáltam amit linkeltél, most pedig kipróbáltam a legújabb x264 snapshottal is, illetve egy korábbival (20080914) is. A fordítás ugyanott, ugyanazzal a hibával elszáll. Asszem nem vacakolok vele többet, idővel csak lesz valami kész megoldás :)