Arkisto

Posts Tagged ‘Raspberry Pi’

OMXPlayerin asentaminen

Johdanto

Ennen kuin varsinaista OMXPlayeriä voidaan asentaa,täytyy jo aikaisemmin mainitut paketit asentaa. Tässä artikkelissa on käsitelty näiden pakettien asentamisessa huomioitavia asioita, ja itse OMXPlayerin asentaminen. Artikkelin komennot on tehty ssh-yhteyden välityksellä,enkä ole laittanut näkyviin yhteydenmuodostamisen komentoa. Komento olisi ssh root@ip-osoite ,jos tulee tilanne, että se unohtuu. Tämän lisäksi käytän tiedostojen lataussijaintina /root/OMXPlayer/packages, mutta tietoturvallisempi paikka olisi käyttäjän oma kotihakemisto.

Tässä artikkelissa on käytetty samaa kokoonpanoa kuin aikaisemmin.

Alsa-lib -paketin asentaminen käytiin läpi jo edellisessä artikkelissa, joten seuraavana on vuorossa alsa-ultils.

Alsa-utils:n asennus

Alsa-utils -paketin asennuksessa täytyy huomioida, että se vaatii alsa-lib -paketin olevan asennettuna.

Alsa-utils-1.0.26- paketin lataus onnistui täältä (17.11.2012)

Aloitin latauksen komennolla

wget http://alsa.cybermirror.org/utils/alsa-utils-1.0.26.tar.bz2

Purin paketin komennolla

tar xvjf alsa-utils-1.0.26.tar.bz2

Latasin valinnaisen patch-tiedoston, jotta ei tarvitse asentaa xmlto-0.0.25 -pakettia.

wget http://www.linuxfromscratch.org/patches/blfs/svn/alsa-utils-1.0.26-no_xmlto-1.patch

Tämän jälkeen menin ensimmäisenä purettuun kansioon ja ajoin configure-skriptin.

cd alsa-utils-1.0.26/
alsa-utils-1.0.26] patch -Np1 -i ../alsa-utils-1.0.26-no_xmlto-1.patch
alsa-utils-1.0.26] ./configure --prefix=/usr/ --without-systemdsystemunitdir

Tämän jälkeen käänsin ohjelman

make

Ja asensin lopuksi ohjelman:

make install

FFmpeg-0.11.2 asennus

Tässä ohjeessa siis asennetaan vanhempi versio FFmpegistä sen takia, koska OMXPlayer vaatii sen toimiakseen. Sen jälkeen kun OMXPlayer päivitetään 1.0-versioon voi asentaa myös uudemman version FFmpeg:stä.

FFmpeg ei vaadi muita paketteja asennettaviksi, mutta minä halusin asentaa tuen esimerkiksi xvid:lle niin jouduin sitten asentamaan muitakin. Tässä on vielä lista mitä asensin:

Xvid-1.3.2
Xorg Libraries
Fontconfig-2.10.1

*FreeType-2.4.10
*expat-2.1.0 tai libxml2-2.9.0

Xorg Protocol Headers

*util-macros-1.17

-libXdmcp-1.1.

-libxcb-1.8.1

*libXau-1.0.7
*libXdmcp-1.1.1
*libpthread-stubs-0.3
*libxslt-1.1.27
*xcb-proto-1.7.1

Näiden lisäpakettien takia, FFmpegin asennukseen meni kauemmin aikaa,noin pari tuntia loppujen lopuksi.

Eli seuraavia paketteja ei ole pakko asentaa, jos ei halua.

Xvid-1.3.2

Paketin haku onnistui täältä,eikä asentaminen poikennut paketin sivujen ohjeista. Aluksi wget-komenolla paketti, tar xzvf paketin_nimi-komennolla purkaminen, cd-komennolla  purettuun kansion ja sitten sivujen ohjeiden mukaisesti.

Xorg Libraries

Jotta Xorg Libraries -paketin asentaminen onnistuu täytyy ensin asentaan sen vaatimukset. Eli ensin alla olevat Fontconfig-2.10.1, Xorg Protocol Headers, libXdmcp-1.1.1, ja libxcb-1.8.1.

Asentaminen (vasta riippuvuuksien asentamisen jälkeen)

Asentaminen onnistui sivun ohjeiden mukaan paitsi kolme asiaa täytyi muuttaa:

1.
Komento bash -e ,oli turha. Se ei minulla tehnyt uutta komentopäätettä, joten sen voi joko komentaa tai jättää komentamatta.

2.
Koska asensin nämä jo valmiiksi root-käyttäjä, ei komennossa tarvitse olla erikseen komentoa mikä käskee tekemään asennuksen  pääkäyttäjäoikeuksin. Alla olevassa koodissa on lihavoituna ja kursivoituna komentopätkän minkä poistin asennettaessa tätä.

for package in $(grep -v '^#' ../lib-7.7.md5 | awk '{print $2}')
do
  packagedir=${package%.tar.bz2}
  tar -xf $package
  pushd $packagedir
  case $packagedir in
    libXfont-[0-9]* )
      ./configure $XORG_CONFIG --disable-devel-docs
    ;;
    libXt-[0-9]* )
      ./configure $XORG_CONFIG \
        --with-appdefaultdir=/etc/X11/app-defaults
    ;;
    * )
      ./configure $XORG_CONFIG
    ;;
  esac
  make
  as_root make install
  popd
  rm -r $packagedir
  as_root /sbin/ldconfig
done

3.
Ja koska bash -e -komento ei tehnyt mtn konkreettista, ei minun myöskään tarvinnut käyttää exit –komentoa. Kokeilin ensimmäisellä kerralla ja tämä vain sulki ssh-yhteyden.

Fontconfig-2.10.1

Jotta Fontconfig-paketin pystyi asentamaan täytyi ensin asentaa  FreeType-2.4.10 ja joko expat-2.1.0 tai libxml2-2.9.0. Minä asensin libxml2-2-.9.0 -paketin.

FreeType-2.4.10

Asentaminen onnistui ohjeiden mukaan, ja sivulla oleva latauslinkki toimi.

expat-2.1.0 tai libxml2-2.9.0

Asensin siis libxml-paketin sivujen ohjeiden mukaan, eikä asennuksessa ollut ohjeista eroavia kohtia.

Xorg Protocol Headers

Ennen kuin itse Xorg Protocol Headers -pakettia pystyi asentamaan piti asentaa sen vaatima paketti util-macros-1.17.

Asennus

Asentaminen onnistui ohjeiden mukaan, mutta tässäki ohjeessa käytetyt bash -e ja exit –komento olivat turhia. Tämän lisäksi poistin tästäkin asennuskomennoista as_root-kohdan sen tarpeettomuuden takia. Varmuuden vuoksi kopsaan vielä komentoni millä asensin.

for package in $(grep -v '^#' ../proto-7.7.md5 | awk '{print $2}')
do
  packagedir=${package%.tar.bz2}
  tar -xf $package
  pushd $packagedir
  ./configure $XORG_CONFIG
  make install
  popd
  rm -r $packagedir
done

util-macros-1.17

Asennus oli nopea ja meni muuten ohjeiden mukaan paitsi lisäsin ./configure $XORG_CONFIG -komentoon –prefix=/usr/ , jotta kaikki paketit tulisi asennettua samaan paikkaan. Eli komentoni oli:

$ ./configure $XORG_CONFIG --prefix=/usr/ && make

libXdmcp-1.1

Asennus tapahtui ohjeiden mukaan ja taas lisäsin –prefix=/usr/  -komennon ./configure -komentoon niin kuin edellisessäkin.
Eli komento oli:

$ ./configure $XORG_CONFIG --prefix=/usr/ && make

libxcb-1.8.1

Jotta tämän paketin sai asennetuksi, piti taas asentaa muutama paketti ensin. Eli paketit: libXau-1.0.7, libXdmcp-1.1.1, libpthread-stubs-0.3, libxslt-1.1.27 ja xcb-proto-1.7.1. Ja näistä paketeista libXdmcp-paketti onkin jo asennettu.

Asennus (vaatimuksien asentamisen jälkeen)

Asennus tapahtui ohjeiden mukaan ja taas lisäsin –prefix=/usr/  -komennon ./configure -komentoon niin kuin edellisessäkin.
Eli komento oli:

./configure $XORG_CONFIG --prefix=/usr/ --docdir='${datadir}'/doc/libxcb-1.8.1 && make

libXau-1.0.7

Paketin asennus sui näppärästi ohjeiden mukana, paitsi –prefix=/usr/  -komennon lisääminen.

./configure $XORG_CONFIG --prefix=/usr/ && make

libXdmcp-1.1.1 (asennettu jo)

libpthread-stubs-0.3

Asennus onnistui suoraan sivujen ohjeiden mukaan.

libxslt-1.1.27

Asennus vaatii libxml2-2.9.0 -paketin asentamista,mutta sen asensin jo aikaisemmin tässä artikkelissa.

Libxslt -paketin asennus sujui ohjeiden mukaan näppärästi ilman ongelmia.

xcb-proto-1.7.1

Paketin vaatimuksena on Python-2.7.3 -paketin, mutta LFS Base sisältää jo valmiiksi Python:n.

Paketin asentaminen onnistui ohjeiden mukaan, paitsi että lisäsin taas –prefix=/usr/ –komennon.

./configure $XORG_CONFIG --prefix=/usr/

ALSA-plugins

Rapoa

Boost

Asentaminen onnistui ohjeiden mukaan ilman mitään lisäyksiä.

PCRE

Paketin asennus sujui myös täysin ohjeiden mukaan.

FreeType

Ja tämä paketti olikin jo asennettu aikaisemmin tässä artikkelissa.

OMXPlayerin paketin asentaminen

Ensimmäisenä latasin uusimman OMXPlayerin-paketin ohjeiden mukaan:

wget https://github.com/huceke/omxplayer/archive/master.tar.gz -O huceke-omxplayer-git.tar.gz

Tämän jälkeen purin paketin ja siirryin kansioon:

tar xvzf huceke-omxplayer-git.tar.gz
cd omxplayer-master/

Tämän jälkeen muokkasin kääntämistiedostoa

sed -i '/include Makefile.include/d' Makefile 
sed -i 's:INCLUDES+=*:&-I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/usr/include/freetype2 :' Makefile
sed -i 's:LDFLAGS+=*:&-L/opt/vc/lib :' Makefile

Ja aloitin kääntämisen:

make

Kääntämisen jälkeen kopion binääritiedoston /usr/bin/-kansioon, jotta OMXPlayerin käyttäminen onnistuisi paremmin. Tämä on siis sama juttu kuin normaalisti ./configure-komennon yhteydessä olen laittanu komennon –prefix=/usr/.

cp -v omxplayer.bin /usr/bin/omxplayer

OMXPlayerin käyttäminen

OMXPlayer saadaan käytiin komentamalla seuraavasti:

omxplayer -p -o hdmi video_tiedosto #-p= tarkoittaa audio passthrough; -o hdmi=tarkoittaa, että ääni menee hdmi-johdon mukana. Vaihtoehtona hdmi/local.

Tekstitystiedoston lisätään vaikka videotiedoston perään,esimerkiksi näin:

omxplayer -p -o hdmi video_tiedosto -t tekstiystiedosto.srt
1 Nopeuttaminen
2 Hidastaminen
j Edellinen ääniraita
k Seuraava ääniraita
i Edellinen kappale
o Seuraava kappale
n Edellinen tekstitysraita
m Seuraava tekstitysraita
s Tekstitykset on/off
q Sulkeminen
Välilyönti tai p Tauko
Äänen hiljentäminen
+ Äänen voimistaminen
Vasen nuoli Kelaus -30
Oikea nuoli Kelaus +30
Alas Kelaus -600
Ylös Kelaus +600

Tekstitykset toimimaan OMXPlayer:ssä

Sain näillä ohjeilla tekstitykset näkymään ainoastaan kerran. Videotiedostoni oli -mp4-formaatissa ja tekstitystiedosto .srt-muodossa. Raspberry Pi foorumeilla on paljon keskustelua aiheesta, mutta selvää vikaa tähän ei ole selvillä. Pääsyyksi epäillään erilaisia tekstitystiedostojen tekotyylejä eli joku tekstitystiedosto toimii, toinen ei.

Latasin torarin-omxplayer -paketin:

wget https://github.com/torarin/omxplayer/archive/experimental.tar.gz -O torarin-omxplayer-git.tar.gz

Ja tämän jälkeen purkiin tiedoston ja siirryin kansioon:

tar xvzf torarin-omxplayer-git-tar.gz
cd omxplayer-experimental/

Ja seuraavaksi taas makefile-tiedoston muokkausta ja make-komennolla kääntämistä:

sed -i '/include Makefile.include/d' Makefile
sed -i 's:INCLUDES+=*:&-I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/usr/include/freetype2 :' Makefile
sed -i 's:LDFLAGS+=*:&-L/opt/vc/lib :' Makefile
make

Seuraavaksi komensin ohjeiden mukaan seuraavanlaisen komennon, jonka avulla tekstityksissä käytetään freefont:teja.

mkdir -p /usr/share/fonts/truetype/freefont && cp -v fonts/FreeSans.ttf /usr/share/fonts/truetype/freefont

Lähteet

Tero Karvinen, Linux-projekti -kurssi

PiLFS – Linux From Scratch on the Raspberry Pi

-Jokela Antti-Ville

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html