Jabberin ääni-ja videopuhelut Empathy-pikaviestimellä

Nokia N900 tukee suoraan puhelimesta Jabber-puheluita ja Jabber-videopuheluita, joten oli aika testailla miten puhelut toimivat muiden ohjelmien kanssa. Tällä hetkellä Jingle-tuki, joka on siis Jabberin VOIP-teknologia, on jo aika monessa Jabber-ohjelmassa. Nopean tutkimisen jälkeen kuitenkin selvisi, että valmis tuki ääni-sekä videopuheluille Linuxissa on vain Pidginissä, Empathyssä ja Coccinellassa. Muissa ohjelmissa Jingle on vasta kehitysversiossa. Esimerkiksi lempparipikaviestimessäni Gajimissa tukea vielä kovasti kehitellään. Päätin testailla Empathyllä, sillä se tuntuu olevan kovassa huudossa nykyään, on jopa päätynyt Ubuntun ja Gnomen viralliseksi pikaviestimeksi.

Ensin täytyi tietysti hommata web-kamera. Logitechin C200 maksoi verkkokauppa.comissa 19,90 ja netin mukaan se toimii suoraan Linuxissa. Sen kävin hakemassa. Kamera toimikin suoraan ilman mitään ajurien metsästämistä tai muunlaista säätämistä. C200:ssa on sisäänrakennuttu mikrofoni, jonka käyttöönotto olikin sitten hieman haasteellisempaa. Mutta ensin vähän Empathysta ja sen ongelmista.

Empathy 2.30.1

Empathy on Gajimin kaltainen pikaviestin. Se mainostaa tukevansa eri protokollia, mutta ainoastaan Jabber kiinnosti tällä kertaa. Gajimiin tai Psihin verrattuna Empathy on aika pelkistetty, jopa hieman ankean näköinen. Empathy ei myöskään ole täysin itsenäinen ohjelma, vaan tarvitsee kaikenmoista lisäkilkettä toimiakseen. Tästä johtuen sen käyttöönotto ei sujunut täysin ongelmitta.

Empathy versio, jonka kanssa tappelin oli 2.30.1. En käytä Gnomea enkä käyttänyt tätä ennen myöskään NetworkManageria, mutta ilman niitä Empathy ei suostunut toimimaan. Varsinkin NetworkManager-ongelma oli varsin vaikea löytää. Empathy tutkii NetworkManagerilta, onko nettiyhteys käynnissä. Jos nettiyhteyttä ei NetworkManagerin kautta löydy, niin Empathy ei yhdistä nettiin. Ongelma korjaantuu, kun korjaa /etc/NetworkManager/nm-system-settings.conf -tiedostosta NetworkManagerin ohjaamaan normaalia nettiyhteyttä.

/etc/NetworkManager/nm-system-settings.conf

[ifupdown]
managed=true

Tietysti vielä hämäävämpää oli, että NetworkManager oletuksena ohjaa langattomia yhteyksiä, muttei langallisia. Tästä seurasi, että Empathy toimi aina kun wlan-yhteys oli päällä, muttei koskaan, kun ethernet-piuha oli kiinni. Näin ainakin Debianissa. Tästä on avattu bugiraporttikin, josta löytyy lisätietoa ongelmasta.

Seuraavaksi tuli vastaan mikrofoniongelma. Koneessa näkyy webbikameran kytkemisen jälkeen kaksi äänikorttia. Toinen on emolevyn ja toinen web-kameran. Näistä pitäisi pystyä valita siten, että web-kameran äänikortista käytetään mikrofonia ja emolevyn äänikortista normaalia äänen ulostuloa. Tämä ei tuntunut olevan mahdollista alsamikseristä, eikä oikein mistään muustakaan sovelluksesta. Siis pysyvien asetusten tekeminen. Ongelma löytyi vielä hieman hassusti. Koneen käynnistyessä käyttöjärjestelmä välillä käytti web-kameran mikrofonia ja välillä emolevyn. Ihan ensimmäisellä ihmettelyllä en ongelmaa löytänyt, vaan vaati se useampia koneen uudelleen käynnistämisiä.

Ratkaisuna mikrofoniongelmaan oli ladata äänikorttien ajurit tietyssä järjestyksessä /etc/modprobe.d/alsa-base.conf -tiedostossa ja tehdä /etc/asound.conf, jossa määritellään mitä korttia käytetään ulostuloon ja mitä kaappaukseen.

/etc/modprobe.d/alsa-base.conf

options snd_hda_intel index=0
options snd_usb_audio index=1
/etc/asound.conf

pcm.!default {
        type asym
        playback.pcm {
                type plug
                slave.pcm "hw:0,0"
        }
        capture.pcm {
                type plug
                slave.pcm "hw:1,0"
        }
}

Lopputulos jätti vielä hieman parantamisen varaa, sillä vaikka äänikortit toimivatkin halutulla tavalla, mikseri ei. Esimerkiksi, jos puhuu videopuhelua ja haluan katsoa samalla youtubesta video-pätkän, niin puhelu estää videopätkän äänet. Tähän vielä kun löytyisi ratkaisu, niin kokonaisuus olisi toimiva Tähän löytyikin lopulta ratkaisu käyttämällä ohjelmallista miksausta (dmix) playback-äänikorissa.

        playback.pcm {
                type plug
		slave.pcm "dmix"
        }

Kun Empathyn asentamisen alkuvaikeudet olivat ratkottu, toimivat N900 ja Empathy hyvin yhteen. Kuva ja ääni välittyy mainiosti.

Jingle-videokeskustelu Sinin kanssa

Vaikka välillä Jabberin hidas kehittyminen onkin ihmetyttänyt, niin Jinglen video-ja äänipuhelut ovat aivan mahtavia. Seuraavaksi Jabber-yhteisöllä näyttäisi olevan suunnittelupöydällä Jingle-ryhmävideokeskustelut. Vaikuttaa aika mielenkiintoiselta. Voi vain kuvitella miten satojen IRC-käyttäjien kanavat siirtyvät tulevaisuudessa ryhmävideokeskusteihin, joissa kaikki pälättävät taukoamatta yhtäaikaa.

Categories: Jabber, Debian, Avoin, N900
Date: 2010-06-03 13:03:42