MPlayer compilat din consolă - orice format, cu subtitrări și diacritice
  [ Ignoră ]
Avatar
RankRankRank
Member
Din: Ploiești
Macuser din: 08.11.05

După cum vine vorba, ce-și face omul cu mâna lui se cheamă lucru manual, sau compilare din surse.

Nemulțumit de alternativele din topicul ăsta (VLC nu vede bine encoding-ul subtitrărilor, iar MPlayerOSX nu le vede deloc), m-am hotărât să instalez MPlayer în varianta de consolă. Bineînțeles, lipsa unei interfețe grafice nu va fi pe placul tuturor (probabil), dar rezultatul final, adică un player video pentru orice format posibil (atât video, inclusiv DVD, 3GP, DiVX, XViD, cât și audio MP3, MP2, AC3 etc), zic eu că merită.

Înainte de a începe, trebuie să aveți Developer Tools pe sistem și să nu vă fie frică de Terminal grin. Nu este necesar nimic în plus, tot ce trebuie a fost inclus de cei de la Apple.

Primul pas este să obținem sursele curente pentru player, prin CVS (un sistem de management al fișierulor sursă). Deschidem un Terminal, și creem un folder pentru surse:

system:~ vaxxicd Desktop/
system:~/Desktop vaxximkdir mplayer
system
:~/Desktop vaxxicd mplayer

Bun, avem așadar un folder numit “mplayer” pe Desktop. Continuăm cu comenzile:

cvs -d:pserver:anonymous@mplayerhq.hu:/cvsroot/mplayer login
cvs 
-z3 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/mplayer co -P main 

Prima comandă va cere o parolă: apăsați doar Enter, și va da probabil un warning: cvs login: warning: failed to open ~/.cvspass for reading: No such file or directory care nu are importanță. A doua comandă va începe să descarce fișierele de pe site; în funcție de conexiunea de net, aveți timp pentru o țigară, o cafea, etc smile

Când termină, va apărea cursorul; acum trebuie descărcate și codecurile video cu comenzile:

cvs -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg login
cvs 
-z3 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg co -P ffmpeg 

Va începe iar să descarce fișierele. Când termină, trebuie mutate trei subfoldere din folderul “ffmpeg” (care a fost creat de comenzile anterioare) în folderul “main” creat la primul pas:

system:~/Desktop/mplayer vaxxils
ffmpeg  main
system
:~/Desktop/mplayer vaxximv ffmpeg/libavmain

Acum, trebuie compilat playerul:

system:~/Desktop/mplayer vaxxicd main/
system:~/Desktop/mplayer/main vaxxi$ ./configure 

Va urma o polologhie întreagă de informații; scriptul de autoconfigurare detectează tipul și posibilitățile procesorului, informații despre sistem, etc. Dacă totul merge ok, trebuie ca până la urmă să spună ceva de genul:

Config files successfully generated by ./configure !

  
Install prefix: /usr/local
  Data directory
: /usr/local/share/mplayer
  Config direct
.: /usr/local/etc/mplayer

  Byte order
big-endian
  Optimizing 
for: 7450 altivec

  Languages
:
    
Messages/GUIen
    Manual pages
:  en

  Enabled optional drivers
:
    
Inputftp network edl tv matroska mpdvdkit2 vcd 
    Codecs
libavcodec faad2(internallibmpeg2 liba52 mp3lib tremor(internal
    
Audio outputmpegpes(filemacosx 
    Video output
md5sum pnm mpegpes(fileopengl xv x11 xover tga macosx quartz 
    Audio filters

  
Disabled optional drivers:
    
Inputvstream tv-v4l2 tv-v4l tv-bsdbt848 live555 cdda dvdread dvb smb 
    Codecs
qtx opendivx x264 xvid libdv amr_wb amr_nb real xanim dshow/dmo win32 faac musepack libdts libtheora speex twolame toolame libmad liblzo gif 
    Audio output
sgi sun alsa jack polyp esd arts oss dxr2 nas dsound win32 sdl 
    Video output
xvidix winvidix cvidix bl zr zr2 dxr3 dxr2 directx sdl vesa gif89a jpeg png fbdev svga caca aa ggi xmga mga dga xvmc directfb tdfx_vid tdfxfb 3dfx 
    Audio filters
ladspa 

'config.h' and 'config.mak' contain your configuration options.
Note: If you alter theses files (for instance CFLAGSMPlayer may no longer compile *** DO NOT REPORT BUGS if you tweak these files ***

'make' will now compile MPlayer and 'make install' will install itNoteOn non-Linux systems you might need to use 'gmake' instead of 'make'.

NOTEWin32 codec DLLs are not supported on your CPU ppc ) or your operating system DarwinYou may encounter a few files that cannot be played due to missing open source video/audio codec support.

Check configure.log if you wonder why an autodetection failed (check whether the development headers/packages are installed).
Do 
not report compilation errors if you used any of the --enable-* options (except --enable-gui and maybe --enable-debug).

If 
you suspect a bugplease read DOCS/HTML/en/bugreports.html.

You've disabled VIDIX. Although it would be better to PORT it instead. Have a look at the documentation for supported cards! 

Acum, penultimul pas: compilarea efectivă. Se dă pur și simplu comanda “make” în Terminal, se apasă Return și se așteaptă - mai mult sau mai puțin, în funcție de procesor; e vremea pentru o nouă cafea MARE și o țigară (două, trei) smile

După ce a terminat, trebuie copiat într-o locație accesibilă întregului sistem:

system:~/Desktop/mplayer/main vaxxicp mplayer /usr/local/bin

Și gata.

 Semnătură 

to the aiiirpoooort…

Profil
 
  [ Ignoră ]   [ # 1 ]
Avatar
RankRankRank
Member
Din: Ploiești
Macuser din: 08.11.05

Pentru a deschide un film, se dă în Terminal comanda:

system:~/Movies vaxximplayer numefilm.avi 

Vor apărea câteva informații, inclusiv detectarea subtitrării:

MPlayer dev-CVS-051120-23:14-4.0.0 (C2000-2005 MPlayer Team
AltiVec found
CPU
PowerPC

Playing numefilm
.avi.
AVI file format detected.
VIDEO:  [XVID]  640x352  24bpp  23.976 fps  1023.3 kbps (124.9 kbyte/s)
Clip info:
 
SoftwareNandub v1.0rc2
SUB
Detected subtitle file formatmicrodvd
SUB
Read 1003 subtitles.
SUBAdjusted 1 subtitle(s).
SUBadded subtitle file (1): ./numefilm.sub
==========================================================================
Opening audio decoder[mp3lib] MPEG layer-2layer-3
AUDIO
48000 Hz2 chs16be128.0 kbit/8.33% (ratio16000->192000)
Selected audio codec[mp3] afmmp3lib (mp3lib MPEG layer-2layer-3)
==========================================================================
==========================================================================
Opening video decoder[ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
Building audio filter chain for 48000Hz/2ch/s16be -> 0Hz/0ch/s8...
AO: [macosx] 48000Hz 2ch s16be (2 bytes per sample)
Building audio filter chain for 48000Hz/2ch/s16be -> 48000Hz/2ch/s16be...
Starting playback...
VDec: vo config request - 640 x 352 (preferred colorspace: Planar YV12)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.82:1 - prescaling to correct movie aspect.
SwScaler: using unscaled Planar YV12 -> Packed YUY2 special converter
VO: [macosx] 640x352 => 640x352 Packed YUY2 

Și, rezultatul este excelent:

 Semnătură 

to the aiiirpoooort…

Profil
 
  [ Ignoră ]   [ # 2 ]
Avatar
RankRankRank
Member
Din: Ploiești
Macuser din: 08.11.05

Pentru cine are un sistem care suportă Quartz, se poate configura ca ieșirea video să fie făcută prin Quartz (încărcare mai mică asupra procesorului); ori comanda anterioară se dă astfel:

mplayer -vo quartz numefilm.avi 

ori se editează fișierul “~/.bash_profile” (pentru a păstra în permanență această opțiune) în care se adaugă:

alias mplayer='mplayer -vo quartz' 

O altă chestie mișto este configurarea tastelor pentru comenzile dorite. În folderul “Home”, va exista un alt folder numit “.mplayer” (începe cu punct, și este ascuns). Așadar:

system:~ vaxxicd .mplayer/
system:~/.mplayer vaxxinano input.conf 

Nano este un editor de texte în mod consolă. Scriem, de exemplu:

MOUSE_BTN1 vo_fullscreen 

după care salvăm cu CTRL+X, Y, Return. Asta înseamnă că la detectarea unui click cu wheel-ul mouse-ului, va trece în mod fullscreen (și invers). Se pot configura diverse taste, pentru diverse opțiuni; lista completă a butoanelor detectate se obține cu “mplayer -input keylist” și lista completă a operațiilor care pot fi atribuite butoanelor se obține cu “mplayer -input cmdlist”, ambele comenzi date în Terminal (sunt multe și variate).

Configurarea implicită a comenzilor des utilizate este următoarea:

săgeată stânga/dreapta: derulează înainte/înapoi cu 10 secunde
săgeată sus/jos: derulează înainte/înapoi cu 1 minut
tasta spațiu: pauză/play
r/t: mută subtitrarea mai sus/mai jos

De asemenea, se poate derula în film cu wheel-ul mouse-ului.

Cam atât. Se mai pot face multe chestii (schimbarea fontului pentru subtitrări, corectarea pan-scan pentru filmele prost comprimate, dar deviez de la subiect). Pentru mai multe detalii, just ask cool smirk

 Semnătură 

to the aiiirpoooort…

Profil
 
  [ Ignoră ]   [ # 3 ]
Avatar
RankRank
Jr. Member
Din: Bucuresti
Macuser din: 11.10.05

gulp  wowo, sunt vorbless, am sa incerc maine…adica…azi raspberry merci

 Semnătură 

Mac Pro - Dual Quad-Core 2.26Mhz / 18GB Ram / GTX 480

Profil
 
  [ Ignoră ]   [ # 4 ]
Avatar
RankRankRankRank
Sr. Member
Din: Bucuresti
Macuser din: 11.10.05

naspa treaba asta cu programarea
nu inteleg nimic, ce pana mea wink
singura chestie pe care o inteleg din ce ai scris e semnatura aia din Guano Apes lol
nu vrei sa-mi compilezi si mie

defapt sunt f multumit de mPlayer-ul meu

Profil
 
  [ Ignoră ]   [ # 5 ]
Avatar
RankRankRank
Member
Din: Ploiești
Macuser din: 08.11.05

Eu nu eram mulțumit de chestia cu diacriticele, așadar ... d-aia smile Compilarea în regie proprie înseamnă că obții un executabil cât mai ajustat pentru sistemul propriu, deci ... nu-i nici o chestie să iei unul deja compilat de altcineva.

Știe cineva cum se face ca fișierele .avi să poată fi deschise din Finder cu mplayer ăsta compilat ? trebuie vreun script, ceva ?

 Semnătură 

to the aiiirpoooort…

Profil
 
  [ Ignoră ]   [ # 6 ]
Avatar
RankRankRankRank
Sr. Member
Din: Bucuresti
Macuser din: 11.10.05

eu de cand folosesc mPlayer nu am avut absolut nici o problema cu el, mai ales cu diacriticele
folosesc chiar versiunea 1.1
unele variante ale versiunii 2 au avut ceva probleme cu interfata

Profil
 
  [ Ignoră ]   [ # 7 ]
Avatar
RankRankRank
Member
Din: București
Macuser din: 11.10.05

nu merge cu “Get info”(mar-i) pe .avi din finder shi de-acolo open with…shi change all apoi ??

 Semnătură 



Profil
 
  [ Ignoră ]   [ # 8 ]
Avatar
RankRankRank
Member
Din: Ploiești
Macuser din: 08.11.05

Din păcate nu, pentru că aplicația nu apare în lista celor disponibile. D-aia mă gândeam la un script, care să “ia” numele fișierului și să-l paseze ca parametru către program. Dacă apărea mplayer în Automator, mergea; din păcate, nu apare rolleyes

 Semnătură 

to the aiiirpoooort…

Profil
 
  [ Ignoră ]   [ # 9 ]
Avatar
RankRankRankRank
Sr. Member
Din: Bucuresti
Macuser din: 11.10.05

ce va nemultumeste la diacritice in mPlaier
din Pref. setezi Encoding pe CP 1250
selectezi avi/mov/mpg (ce o fi) si subtitrarea si fac drag&drop; in playlist
deci pe amandoua odata
nu are importanta daca subtitrarea si filmul au nume diferite

nu folosesc Open

va spun, nu am avut niciodata probleme cu el

Profil
 
  [ Ignoră ]   [ # 10 ]
Avatar
RankRankRank
Member
Din: Ploiești
Macuser din: 08.11.05

Mda, doar ca la mine, indiferent de ce encoding selectez, apar acele caractere ciudate in loc de diacritice ... si ma streseaza chestia asta smile

 Semnătură 

to the aiiirpoooort…

Profil
 
  [ Ignoră ]   [ # 11 ]
Avatar
RankRankRankRank
Administrator
Din: The Colony, TX
Macuser din: 11.10.05

VAXXi - fa si tu un zip cu binarul rezultat si ataseaza-l ca sa incerce lumea.

 Semnătură 

Apple:5x macmini (G4, 2007, 2009, 2010, 2012)
UNIX:IBM 7011-250/AIX 5.1, HP Jornada 680/JLime, HP 9000 F20/HP-UX 11.11
PC:PentiumD/Debian, HP t5300/Debian
Misc:Spectrum 48k, 8x Raspberry Pi, 2x CHIP

Profil
 
  [ Ignoră ]   [ # 12 ]
Avatar
RankRankRankRank
Sr. Member
Din: Bucuresti
Macuser din: 11.10.05
VAXXi - 23 Noiembrie 2005 03:46 AM

Mda, doar ca la mine, indiferent de ce encoding selectez, apar acele caractere ciudate in loc de diacritice ... si ma streseaza chestia asta smile

eu am copiat fonturile de la versiunea 1.1 si la celelalte versiuni (Arial)
adevarul e ca la capitolul fonturi, interfata si output audio 1.1 sta cel mai bine

Profil
 
  [ Ignoră ]   [ # 13 ]
Avatar
RankRankRank
Member
Din: Ploiești
Macuser din: 08.11.05
psergiu - 23 Noiembrie 2005 04:34 AM

VAXXi - fa si tu un zip cu binarul rezultat si ataseaza-l ca sa incerce lumea.

http://www.macuser.ro/widgets/romanian_radio/mplayer.zip

Este compilat pentru G4. După dezarhivare apare un fișier care trebuie mutat în /usr/local/bin, deci se pornește Terminal și se dă comanda: mv ~/Desktop/mplayer /usr/local/bin/.

 Semnătură 

to the aiiirpoooort…

Profil