Erinevus lehekülje "MPlayer" redaktsioonide vahel
(→Väljundid) |
|||
1. rida: | 1. rida: | ||
[[Kategooria:Tarkvara]] | [[Kategooria:Tarkvara]] | ||
[[Kategooria:Kasulikud näpunäited]] | [[Kategooria:Kasulikud näpunäited]] | ||
− | + | MPlayer on väga võimalusterohke videomängija. Kõiki võimalusi saab juhtida käsurealt, mistõttu esmakasutaja ei pruugi kohe aru saada mida ja kuidas teha saab. | |
* Täpsem jutt siia | * Täpsem jutt siia | ||
− | == | + | == MPlayer == |
− | + | MPlayeri funktsionaalsus sõltub suuresti kompileerimisvõtmeist, kuid enamus funktsionaalsusest peaks olemas olema igas GNU/Linux ja *BSD distributsioonis. | |
== Sisendid == | == Sisendid == | ||
113. rida: | 113. rida: | ||
* Kuigi heli edastamiseks on võimalusi veelgi rohkem kui video jaoks, kasutame siin EsounD deemonit ning mplayeri kliendituge selle jaoks. Arvutis, '''kust''' heli peaks väljuma, peab olema paigaldatud EsounD deemon. EsounD deemoni enimkasutatavaks käivitamiskäsuks kujuneb tõenäolselt järgnev rida: | * Kuigi heli edastamiseks on võimalusi veelgi rohkem kui video jaoks, kasutame siin EsounD deemonit ning mplayeri kliendituge selle jaoks. Arvutis, '''kust''' heli peaks väljuma, peab olema paigaldatud EsounD deemon. EsounD deemoni enimkasutatavaks käivitamiskäsuks kujuneb tõenäolselt järgnev rida: | ||
esd -tcp -port 16001 -public -nobeeps & | esd -tcp -port 16001 -public -nobeeps & | ||
− | * Kui nüüd EsounD deemon on käivitatud, võib sellele heli ette sööta | + | * Kui nüüd EsounD deemon on käivitatud, võib sellele heli ette sööta MPlayerist. MPlayeri võti EsounD heliväljundi kasutamiseks on '''-ao esd:host:port''', host on arvuti IP aadress '''kuhu''' heli suunatakse. Ametlikult kasutab EsounD vaikimisi porti 16001, kuid möödalaskmisi võib kohata nii siin-seal, nii et kindluse mõttes võiks sellegi ära märkida: |
mplayer -ao esd:192.168.1.113:16001 ''fail.avi'' | mplayer -ao esd:192.168.1.113:16001 ''fail.avi'' | ||
* Nagu X11 puhulgi, on EsounD tugi mitmetel programmidel, küll aga süntaks võib erineda programmiti. Amarok loeb EsounD ''remote'' aadressi ''shell''i muutujast $ESPEAKER. Lisaks tuleb menüüst valida ''Settings -> Configure'' Amarok. Ning ''Engine'' alt ''Output plugin'' hüpikmenüüst '''esd'''. Tavaliselt kasutatakse ALSA väljundit ('''alsa''') | * Nagu X11 puhulgi, on EsounD tugi mitmetel programmidel, küll aga süntaks võib erineda programmiti. Amarok loeb EsounD ''remote'' aadressi ''shell''i muutujast $ESPEAKER. Lisaks tuleb menüüst valida ''Settings -> Configure'' Amarok. Ning ''Engine'' alt ''Output plugin'' hüpikmenüüst '''esd'''. Tavaliselt kasutatakse ALSA väljundit ('''alsa''') |
Redaktsioon: 11. veebruar 2007, kell 20:43
MPlayer on väga võimalusterohke videomängija. Kõiki võimalusi saab juhtida käsurealt, mistõttu esmakasutaja ei pruugi kohe aru saada mida ja kuidas teha saab.
- Täpsem jutt siia
MPlayer
MPlayeri funktsionaalsus sõltub suuresti kompileerimisvõtmeist, kuid enamus funktsionaalsusest peaks olemas olema igas GNU/Linux ja *BSD distributsioonis.
Sisendid
Toetatud failivormingud
- Esiteks tuleks tähele panna et faililõpp .avi ei tähista failivormingut, AVI ehk Audio Video Interleaved on heli-video konteiner, mis töötati välja muuseas Microsofti poolt. Samamoodi on Apple Quicktime .mov lõpuga failid ning RealMedia .rmvb lõpuga failid samasugused konteinerid. Enamasti kasutatakse AVI konteinerit, et oleks üks ja ainus faililaiend mille järgi videomängijat avada. AVI konteineris võib olla pea mis iganes, näiteks MPEG2, MPEG4, DivX või XviD video ning MP3, OGG Vorbis või AAC heli. Vormingute tugi sõltub ka sellest kas need näiteks kompileerimise ajal kaasati.
- Toetatud videovormingute nimekiri:
Nimetus | Enimkasutatav faililaiend/konteiner | Toetab voogude esitamist | Looja | Litsents | Teek |
MPEG1-4 | AVI ja MPEG | Jah | Fraunhoffer? | ? | ffmpeg? |
DivX 3-5 | AVI ja MPEG | Jah? | ? | ? | ffmpeg? |
Xvid | AVI ja MPEG | Jah? | ? | GPL | ffmpeg |
RealMedia | RealMedia (.rm, rmvb) | Jah | RealNetworks | Omanduslik | Linuxi Realplayeri teegid |
Windows Media 7-8 | Windows Media Video (.wmv) | Jah | Microsoft | Omanduslik | Windowsi DLLid |
Apple Quicktime | Apple Quicktime (.mov) | Jah? | Apple | Omanduslik | ffmpeg |
Adobe Flash 9 | FLV konteiner | Jah | Macromedia/Flash | Vabavara | ffmpeg? |
- Toetatud helivormingute nimekiri:
Lühend | Toetab eraldi failide esitamist | Toetab voogude esitamist | Pikk nimetus | Looja | Litsents | Teek |
MP3 | Jah (.mp3) | Jah | MPEG-1 Layer-3 | Fraunhoffer Institute? | Omanduslik | ffmpeg? |
OGG | Jah (.ogg) | Jah | OGG Vorbis | ? | GPL | libogg,libvorbis |
PCM | Jah (.wav, jms konteinerid) | ? | Pakkimata heli | ? | ? | ? |
WMA | Jah (.wma, .asf), va DRMiga kaitstud | Jah, va DRMiga kaitstud | Windows Media Audio | Microsoft | Omanduslik | ffmpeg + Windowsi DLLid |
FLAC | Jah (.flac) | Jah | Free Lossless Audio Codec | ? | GPL? | ffmpeg |
AAC [1] | ? | Jah | Advanced Audio Coding | ? | Pool-vaba [2] | ffmpeg |
DVD
Tähele tuleks panna et mõningad DVDd on kasutavad nn. bad-sectorite põhist turvat. Kui kommertspleier teab millised sektorid vahele jätta siis mplayer jääb hätta nendega ning DVD mahamängimiseni ei jõuagi
Väljundid
XVideo videoväljund
...ehk X11 laiendus video jaoks on eelkõige mõeldud video näitamiseks X11 serverites, pakkudes võimalust skaleerimist teostada X11 serveril riistvaraliselt. Riistvaraline skaleerimine tähendab seda, et kui teie ekraan (X11 server) töötab resolutsioonil 1024x768 ning video, mida te vaatate, on 720x576, siis videokaart nö venitab video suuremaks. XVideo puhul liigub videovoog otse mängijast videokaardi mällu, mistõttu on see tõenäoliselt kõige parem moodus video mahamängimiseks. Kui videokaart või selle draiver seda ei oska, tuleb skaleerimine teha protsessoril ning tarkvaraliselt, mis on suhteliselt aeglane ning kasutab palju protsessori aega, mistõttu jääb teistele programmidele vähem ressursse. XVideo võimaluse puudumisel kasutatakse üldjuhul X11 väljundit. Reeglina on videokaardil ning videokaardi draiveril see funktsionaalsus olemas ning kasutaja võib rahumeeli XVideo väljundit kasutada. Enamikes videomängijates (mplayer, vlc, kaffeine, xine, totem) ongi see vaikimisi valitud, väjunddraiverite nimekirjas kasutatakse lühendit xv.
mplayer -vo xv fail.avi
X11 videoväljund
... kirjutab kaadrid otse X11 serverisse, ilma lisainformatsioonita, mistõttu seda ei saa skaleerida. Üldjuhul on X11 väljund aeglane video jaoks, kuna video liigub läbi operatiivmälu, mitte otse videokaardi mälusse nagu XVideo puhul. X11 protokoll moodustab X11 klientide-serverite suhtluspõhja ning kui muud väljundid ei tööta siis X11 töötab igal juhul.
mplayer -vo x11 fail.avi # Videot saab skaleerida tarkvaraliselt, kui defineerida kõrguseks -3, siis arvutatakse kõrgus originaalvideo laiuse/kõrguse suhte värgi mplayer -vo x11 -vop scale=1024:-3 fail.avi
OpenGL videoväjund
...renderdab kaadrid otse videomällu OpenGL tekstuurina polügonile. See eeldab korrekselt installitud videodraivereid, mis toetavad riistvaralist 3D renderdamist, vastasel korral kasutatakse MESAt ehk tarkvaralist 3D renderdajat, mis on väga aeglane. OpenGL videoväljund on vajalik 3D töölaua (Beryl, Compiz) jaoks, kus XVideo või X11 videoväljundid ei tööta korrektselt, kuna nad pole ette nähtud töötama sellises keskkonnas.
mplayer -vo gl fail.avi mplayer -vo gl2 fail.avi
Framebuffer videoväljund
Framebuffer videoväljundit saab kasutada kui on õigesti seadistatud Linux'i framebuffer
mplayer -vo fbdev fail.avi # 90kraadi pööratud pilt, näiteks pihuarvutil kus jookseb Debian GNU/Linux ning framebufferi native resolutioon on 240x320: mplayer -vo fbdev2 fail.avi
ALSA heliväljund
ALSA (Advanced Linux Sound Architecture) on nüüdseks välja vahetanud vana
Võrgu transparentsus
Idee
- UNIXilaadsete operatsioonisüsteemide puhul on olulisel kohal võrgu transparentsus. Mida see tähendab? Ütleme et teil on neli arvutit ning neis kõigis jookseb GNU/Linux:
Arvuti A on sinu sülearvuti Arvuti B küljes on kõvaketas filmidega ning selle sisu on võrgus kättesaadav NFS ja SAMBA kaudu Arvuti C sees on videokaart ning selle küljes videoprojektor Arvuti D sees on helikaart, kuhu on ühendatud vägev helisüsteem
- Paigaldades arvutisse A mplayeri, saab filmi vaadata nii, arvuti B jagatud kataloog haagitakse arvuti A failisüsteemi, arvuti A haakepunktist avab mplayer videofaili, video saadetakse XVideo väljundi abil arvuti C X11 serverisse ning heli tuleb arvutist D EsounD deemoni abil.
X11 ja XVideo ümbersuunamine
- X11 serveri valimine käib shelli muutuja $DISPLAY abil. Muutuja koosneb IP aadressist või hostnamest ning X11 serveri nummerdusest, järgnevas näites 192.168.1.110:0.0 tähendab et püütakse võtta kontakti X11 serveriga IP aadressil 192.168.1.110 ning :0.0, tähistab esimest serverit.
DISPLAY=192.168.1.110:0.0 mplayer fail.avi
- DISPLAY muutujat saab õigupoolest kasutada suvalise programmi ümbersuunamiseks mis kasutab graafilise aluspõhjana X11 protokolli, näiteks:
DISPLAY=192.168.1.119:0.0 firefox
- Arvuti, kuhu X11 ühendus ümber suunatakse, tuleb lubada ühenduste tegemine X11 serverisse
# Lubame kõikidelt IP aadressidelt: xhost + # Saab ka üksikuid arvuteid lubada. Lisame arvuti, IP-ga 192.168.1.111 lubatud arvutite nimekirja: xhost 192.168.1.111
- Tavaliselt X11 serveril on keelatud IP aadressil kuulamine turvalisuse mõttes. Kohalike rakenduste X11 andmevahetus liigub läbi UNIXi socketite, tavaliselt fail nimega: /tmp/.X11-unix/X0.
- Kui ei kasutata ühtegi sisselogimisabistajat (KDM, GDM, XDM). Ava fail /etc/X11/xinit/xserverrc. Viimane rida peaks välja nägema midagi sellist:
exec /usr/bin/X11/X -dpi 100 # Mitte selline: exec /usr/bin/X11/X -dpi 100 -nolisten tcp # -nolisten tcp tähendabki seda et X11 server ei kuula sissetulevaid X11 ühendusi
- Kasutatakse KDM sisselogimisabistajat (Näiteks Kubuntu puhul)
???
- Kasutatakse GDM sisselogimisabistajat (Näiteks Ubuntu puhul)
???
Heli ümbersuunamine
- Kuigi heli edastamiseks on võimalusi veelgi rohkem kui video jaoks, kasutame siin EsounD deemonit ning mplayeri kliendituge selle jaoks. Arvutis, kust heli peaks väljuma, peab olema paigaldatud EsounD deemon. EsounD deemoni enimkasutatavaks käivitamiskäsuks kujuneb tõenäolselt järgnev rida:
esd -tcp -port 16001 -public -nobeeps &
- Kui nüüd EsounD deemon on käivitatud, võib sellele heli ette sööta MPlayerist. MPlayeri võti EsounD heliväljundi kasutamiseks on -ao esd:host:port, host on arvuti IP aadress kuhu heli suunatakse. Ametlikult kasutab EsounD vaikimisi porti 16001, kuid möödalaskmisi võib kohata nii siin-seal, nii et kindluse mõttes võiks sellegi ära märkida:
mplayer -ao esd:192.168.1.113:16001 fail.avi
- Nagu X11 puhulgi, on EsounD tugi mitmetel programmidel, küll aga süntaks võib erineda programmiti. Amarok loeb EsounD remote aadressi shelli muutujast $ESPEAKER. Lisaks tuleb menüüst valida Settings -> Configure Amarok. Ning Engine alt Output plugin hüpikmenüüst esd. Tavaliselt kasutatakse ALSA väljundit (alsa)
ESPEAKER=192.168.1.113 amarok &
Aeglane arvuti
Siin on väga palju võimalusi mida proovida. Kõigepealt tuleks aga tähele panna, et millise lahtipakkimiskoodekiga mida teha saab. Xvid, RealMedia (rmvb) ja WMV tüüpi videotele järgnevat käsku ei saa kasutada, kuna nende mahamängimiseks ei kasutata ffmpeg koodekit, küll aga on toetatud DVD, MPEG1, MPEG2, MPEG4 ja DivX:
mplayer -vfm ffmpeg -lavdopts lowres=1:fast:skiploopfilter=1 failinimi mplayer -vfm ffmpeg -lavdopts lowres=1:fast:skiploopfilter=1 dvd://
lowres=1 tähendab seda et renderdatava video resolutsiooni vähendatakse 4x (vertikaalselt 2x ning horisontaalselt 2x), paraku renderdamata pikslite tõttu muutub video uduseks aeglaste kaadrite juures.
Paljude videode puhul peaksid toimima ka järnevad võtmed, mis põhjustavad nähtuse, kus iga teine vertikaalne pikslijada jäetakse vahele. See toimib tõenäoliselt korrektselt ainult videoväljundiga XV, kuna X11 puhul on iga kaader vertikaalselt kaks korda väiksem ning tarkvaralise skaleerijaga suurendades pole üritusel mõtet.
mplayer -vop field failinimi mplayer -vop halfpack failinimi
Näited
Salvestame analoog-TV audio-videovoo kõvakettale
- Vaatame telekat (tv://)
- driver - Kasutame Video4Linux 2 draiverit (v4l2)
- width, height - Kasutame capture resolutsiooni 320x240
- freq - Kasutame 527.75MHz sagedust (TV3 Eestis + interferentsinähtused ja muu jama)
- alsa - Kasutame TV heli jaoks TV-kaardi ALSA sisendit (heli PCI kaudu, mitte TV-kaart -> helikaart juhtmega), selleks on vaja näiteks Philips SAA7134 kiibistikuga TV-kaartide puhul laadida moodul saa7134-alsa
- adevice - Millist kaarti kasutada, sellel hetkel näiteks helikaardi jaoks vastas /dev/dsp ning telekakaardi jaoks /dev/dsp1
- immediatemode - 1 puhul eeldatakse et heli läheb telekakaardist otse õigesse kohta, 0 puhul püütakse heli kätte saada eelnimetet /dev/dsp1 kaudu
- audiorate - 32000 tundub olevat enimkasutatav sämplimissagedus telekakaartidel
- amode - Sõltuvalt telekakaardist, saa7135 kiviga: 0-mono, 1-stereo
- o - Salvestame kogu krempli sellesse faili
- ovc, oac - copy tähendab et ei kodeerita midagi, salvestatakse pakkimata heli+video, 320x240 resolutsioonil tuleb umbkaudu 10G tunni kohta
mencoder tv:// -tv driver=v4l2:width=320:height=240:freq=527.75:alsa:adevice=/dev/dsp1:immediatemode=0:audiorate=32000:amode=1 -o v2ljundfail.avi -ovc copy -oac copy