Black Eternal

…how abstract thy harvest rose doth fall, consigned to the flames of woe in sweet modesty…

Ghid mplayer

mplayer este poate cel mai cunoscut program multimedia din lumea opensource. motivele pentru care este atât de popular sunt versatilitatea, portabilitatea şi numărul mare de formate, drivere si codecuri suportate. Acest ghid are in vedere instalarea, configurarea şi opţiunile de bază.

Navigare rapidă:
1. Instalare
2. Configurare
3. Exemple de utilizare
4. Mencoder
5. Frontends
6. Subtitrări ASS

1. Instalare

Se downloadează sursa, se configurează şi se instalează. Un loc potrivit pentru sursele mplayer ar fi /usr/src/ sau /usr/local/src. Deci:

su root [introduceţi parola]
cd /usr/src
svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer

Pentru ca a doua comandă să functioneze aveţi nevoie de subversion. Dacă a funcţionat, un nou director mplayer a fost creat.

cd mplayer

Urmează comanda ./configure, împreună cu opţiunile specifice. Câteva opţiuni:

--prefix=DIR (directorul de instalare [default: /usr/local])
--codecsdir=DIR (directorul pentru codecurile binare)
--win32codecsdir=DIR (directorul pentru DLL-urile windows)
--xanimcodecs=DIR (directorul pentru codecurile XAnim)
--realcodecsdir=DIR (directorul pentru codecurile RealPlayer)
--disable-mplayer (nu compilează mplayer ci doar mencoder)
--disable-mencoder (nu compilează mencoder ci doar mplayer)
--enable-gui (compilează GMPlayer [gtk+ gui])
--language=ro (selectează limba română pentru mesaje si pentru GUI)
--charset=charset (converteşte mesajele la setul de caractere specificat)

În principiu restul optiunilor sunt autodetectate, pentru amănunte rulaţi

./configure --help

Trebuie să mai ţinem cont de încă un lucru:

This configure script is NOT autoconf-based, even though its output is similar. It will try to autodetect all configuration options. If you –enable an option it will be forcefully turned on, skipping autodetection. This can break compilation, so you need to know what you are doing.

Aşa se explică de ce, uneori, mai ales cu --enable-gui, compilarea se opreşte cu eroare, aparent inexplicabil. In fine, presupunem nişte opţiuni inofensive:

./configure --language=ro --enable-color-console

Dacă totul a decurs cu succes, pentru instalare nu mai rămân decât 2 paşi:

make
make install

Acum aveţi un mplayer nou instalat în sistem. E timpul să renunţăm la userul root. Dacă aţi folosit su root, apăsaţi CTRL+D.

2. Configurare

Urmează crearea directorului ~/.mplayer unde vom avea fişierul de configurare şi symlink-ul către fontul preferat, ce va fi folosit pentru afişarea subtitrărilor şi OSD-ului.

cd ~
mkdir .mplayer

Pentru font putem proceda în mai multe feluri. O variantă ar fi, de exemplu:

ln -sf /usr/share/fonts/dejavu/DejaVuSans.ttf ~/.mplayer/subfont.ttf

Înlocuiţi fontul Deja Vu cu orice alt font găsiţi pe-acolo. Altă variantă: crearea unui director .fonts, în care să depozităm fonturile preferate, cum ar fi fonturile ttf microsoft:

mkdir ~/.fonts
cp /calea/spre/fonts/Arial.ttf ~/.fonts
ln -sf ~/.fonts/Arial.ttf ~/.mplayer/subfont.ttf

Mai rămâne fişierul de configurare. Deschideţi cu editorul vostru preferat, fişierul ~/.mplayer/config (dacă nu există îl creaţi). Ar putea arăta în felul următor (am pus în paranteze explicaţiile pt fiecare linie):

~/.mplayer/config:

# Write your default config options here!
subcp=cp1250 (Pentru subtitrări cu diacritice)
subfont-text-scale=3.25 (Setează mărimea fontului subtitrării)
ao=alsa (Selectează ALSA pentru audio output)
af=volnorm (Selectează ca audio filter volnorm - normalizarea sunetului)

Pentru o listă completă a driverilor, filtrelor şi codecurilor suportate, rulaţi:

mplayer -vo help (lista driverilor video disponibili: x11, xv, gl, etc..)
mplayer -ao help (lista driverilor audio disponibili)
mplayer -vf help (lista filtrelor video)
mplayer -af help (lista filtrelor audio)
mplayer -vc help (lista codecurilor video)
mplayer -ac help (lista codecurilor audio)

Acum deja aveţi un mplayer complet funcţional.

3. Exemple de utilizare

Ca să rulaţi un fişier multimedia (de exemplu un film):

mplayer movie.avi -sub subtitrare.srt

Pentru filme cu coloana sonoră în mai multe limbi:

mplayer movie (twin audio).avi

Outputul în terminal va fi ceva de genul:

Video stream found, -vid 0
Audio stream found, -aid 1
Audio stream found, -aid 2

Selectaţi stream-ul audio dorit:

mplayer -aid 1 movie (twin audio).avi

Dacă vrem să ne uităm la dvd-uri:

mplayer dvd://x -chapter y -alang=en -slang en -vf pp=fd

x = titlu
y = capitol
alang = audio language – trebuie să fie egal cu codul de 2 litere al unei tări
slang = subtitle language

-vf pp=fd e un filtru pentru deinterlacing. Rulaţi

mplayer -pphelp
pentru mai multe detalii.

Filtre video:

Captură de ecran:

mplayer -vf screenshot movie.avi

Apăsînd tasta ‘s’ veţi face capturi de ecran care vor fi salvate în format *.png în directorul curent.

Rotirea imaginii:

mplayer -vf rotate=x movie.avi

x=1: roteşte imaginea 90 de grade spre dreapta
x=2: roteşte imaginea 90 de grade spre stânga

Flip, Mirror:

mplayer -vf flip movie.avi (oglindeşte imaginea pe verticală)
mplayer -vf mirror movie.avi (oglindeste imaginea pe orizontală)

Modificarea dimensiunilor:

mplayer -x 640 -y 480 movie.avi

Scalează imaginea la dimensiunile specificate. Foarte util pentru filmele cu dimensiuni greşite.

Crop:

Acesta este un filtru extrem de util în caz că dorim să eliminăm benzile negre care apar pe unele filme:

mplayer -vf cropdetect movie.avi

Trebuie ca scena din film să fie suficient de luminoasă astfel încît benzile negre să fie detectabile. Se va obţine în terminal un output de genul:

crop area: X: 0..719 Y: 57..419 (-vf crop=720:362:0:58)

Citiţi mai jos secţiunea dedicată mencoder pentru a vedea cum poate fi folosit acest output.

4. Mencoder

mencoder suportă toate filtrele şi codecurile folosite de mplayer şi este o unealtă extrem de puternică pentru codare video.

Ca să vedem ce putem face cu mencoder, să studiem puţin următoarea comandă:

mencoder -oac copy -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -ffourcc divx movie.avi -o output.avi

oac = output audio codec
-oac copy înseamnă că mencoder va copia stream-ul audio fără să-l modifice

ovc = output video codec
-ovc lavc mencoder va folosi pentru codare libavcodec – cel mai bun codec existent

lavcopts = opţiunile codecului libavcodec
-lavcopts vcodec=mpeg4:mbd=2:trell

Folosim codare mpeg4 (divx, xvid). Următorii parametri ţin de setările de calitate a codării:

mdb = MacroBlock Decision
The mdb options is for MacroBlock Decision: with this enabled it will encode all the macroblocks in all modes available and chose the best. mdb=0 is the default, mdb=1 will use the the fewest bits, mdb=2 selects the macroblock mode with the best rate distortion.

trell = Trellis quantization
Will find the optimal encoding for each 8×8 block, optimizing the datastream for the player.

-ffourcc divx
Pune eticheta divx pe video rezultat astfel încât să fie recunoscut de toate playerele. xvid e bun deasemenea.

În afară de opţiunile studiate mai sus, se mai pot folosi filtre video pentru deinterlacing, cropping, scaling:

-vf scale=720:576 va seta dimensiunile filmului rezultat la 720×576 pixeli.

-vf crop=w:h:x:y

Unde:
w,h Cropped width and height, defaults to original width and height.
x,y Position of the cropped picture, defaults to center

5. Frontends

Pentru mult timp nu a existat un frontend (interfață grafică) bun pentru mplayer. Lucrurile s-au schimbat odată cu apariția SMPlayer. Acesta merge atît pe windows cît și pe linux și are o interfață ergonomică și prietenoasă.

Iar pentru mencoder, există avidemux.

6. Subtitrări

ASS (Advanced Substation Alpha) este un tip de subtitrări care suportă opțiuni avansate cum ar fi poziționarea pe ecran, formatarea textului, etc.

libass face parte din mplayer așa că dacă ați instalat mplayer după instrucțiunile de mai sus aveți deja suport inclus. Tot ce mai e de făcut este adăugarea opțiunilor de cofigurare în ~/.mplayer/config:


ass=1
embeddedfonts=1
ass-color=ffffff00
ass-border-color=0000000
fontconfig=1
font="Verdana"
ass-font-scale=1
ass-use-margins=1
ass-bottom-margin=30
ass-top-margin=30

Sunt 2 opțiunile referitoare la culoarea subtitrărilor, ambele au ca valoare un cod de 8 cifre:
- primele 6 cifre reprezintă codul RGB al culorii, in baza 16: ffff00 înseamnă galben :)
- ultimele 2 cifre reprezintă transparența: 00 pentru subtitrări opace și ff pentru transparență totală.

Prima opțiune se referă la culoarea textului ass-color) iar a 2-a la culoarea marginilor literelor (ass-border-color)

Optiunea ass-use-margins ne permite să adăugăm margini negre imaginii, în care să plasăm subtitrarea. Experimentați cu valorile pt ass-bottom-margin și ass-top-margin.

One Response to Ghid mplayer

  1. Pingback: Linux în linie de comandă - partea I « Black Eternal

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.