MythTV Tampereen kaapeliverkkoon

Linux, MythTV, Softa Add comments

Tuli taas ajankohtaiseksi asentaa MythTV backend puhtaalta pöydältä, ja jälleen kerran sain tapella niiden samojen ongelmien kanssa uudestaan. Nytpä siis kirjaan muistiin toimenpiteitä joita saa tehdä että MythTV:n saa toimimaan haluamallaan tavalla.

Itse käytän tällähetkellä 0.20-fixes versiota, joka on 0.20 kehityshaaran uusin versio, joka sisältää bugikorjauksia alkuperäiseen 0.20 versioon verrattuna. Ubuntun, ja monien muidenkin distribuutioiden, paketinhallintajärjestelmästä tulee vielä vanhoja versioita, joten ainoa keino on kääntää MythTV itse lähdekoodista. Ja varsinkin jos joutuu tekemään tässä kertomiani muutoksia lähdekoodiin, niin kääntöhommiin joutuu jokatapauksessa.

Ensimmäinen vaihe on hakea lähdekoodi. Sen voi imuroida vaikkapa /usr/src hakemistoon:
# cd /usr/src
# svn co http://svn.mythtv.org/svn/branches/release-0-20-fixes/mythtv

Nyt lähdekoodi sijaitsee hakemistossa /usr/src/mythtv. Ennen kääntämistä pitää koodiin kuitenkin tehdä muutos joka korjaa EIT tietojen, eli ohjelmatietojen haun suoraan digitv-verkosta, hakemisen muillakin kanavilla kuin Yleisradiolla.Tämä johtuu siitä että TTV:llä Yleisradion kanavanipulla on network-id 15, mutta kaikilla muilla 0. Periaatteessa 0 on reserved, eli sen ei pitäisi olla minkään tavallisen kanavanipun network-id. Korjauksen voi tehdä käsinkin, vain yksi muutos yhteen tiedostoon, mutta helpoimmalla pääsee kun ajaa tämän patchin lähdekoodiin:

# cd /usr/src
# wget http://svn.mythtv.org/trac/attachment/ticket/2528/eit_fix.diff
# patch -p0 < eit_fix.diff

Voit myös käsin lisätä tiedostoon /usr/src/mythtv/libs/libmythtv/tv_rec.cpp riville 1725 yhtäsuurikuin merkin oheisen esimerkin mukaisesti:

Vanha rivi 1725: if (netid > 0 && tsid > 0 && progNum >= 0)
Korjattu rivi 1725: if (netid >= 0 && tsid > 0 && progNum >= 0)

Nyt ohjelmatietojen haku toimii myös kanaville joiden network-id on 0, eli kaikilla muillakin kanavilla - ei ainoastaan Yleisradion.

Seuraavaksi käännetään MythTV:

# cd /usr/src/mythtv
# ./configure --enable-dvb --enable-proc-opt --arch=pentium4 // Korvaa "pentium4" oman prosessorisi arkkitehtuurilla!
# qmake mythtv.pro
# make // Jos käännät SMP koneella, lisää makelle parametri -j(corejen lukumäärä+1)
# make install

Nyt MythTV on asennettu ja käytettävissä. Ainakin Ubuntu 6.10 ja 7.04 distribuutioissa joutui käsin kopioimaan /usr/local/lib hakemistosta kaikki libmyth* tiedostot /usr/lib hakemistoon, koska ne ei oletuksena löytyneet.

Kanavaskannerilla on ongelmia löytää muita kuin Yleisradion kanavia. Se ilmoittaa kaikkien muiden kohdalla "Found channel, but it doesn't match existing tsid". MythTV:ssä on bugi, joka aiheuttaa tuon network-id nollan tallentumisen NULL arvona MySQL tietokannan tauluun dtv_multiplex. Joten ensimmäisen skannausyrityksen jälkeen pitää käydä muuttamassa tietokannasta NULL arvot nolliksi. Se onnistuu tällä yhdellä SQL-lauseella:

UPDATE dtv_multiplex SET networkid=0 WHERE networkid IS NULL;

Nyt koittamalla skannausta uudelleen olemassa oleville kanavanipuille pitäisi loputkin kanavat löytyä.

16 Responses to “MythTV Tampereen kaapeliverkkoon”

  1. Mika J Says:

    Kiitoksia. Asensin myös purkin uusiksi alusta alkaen. Postituslistalta olin lukenut tarvittavasta patchista TTV:n verkossa, mutta aika työlästä olisi ollut selvittää nuo molemmat muutokset.

  2. toni Says:

    Lisäämällä /etc/ld.so.conf(ig) tiedoston sisältämiin polkuihin “/usr/local/lib” ja ajamalla “ldconfig” komennon - löytyy kirjastot myös /usr/local/lib:n alta.

  3. Dario Says:

    Thanks for the info on the TV ad Timo. I’ve changed the post a little.

  4. mja Says:

    Mitäs korttia te käytätte? Itse sain Twinhanin DVB-C-kortin toimimaan i386 ubuntu edgyssä mutta en i386 feistyssä enkä amd64 feistyssä.. winkkarissa pelaa kyllä, mutta ubuntun puolella ei virity kanavat mythtvllä eikä dvb-utilsin ohjelmilla.

  5. Timo Taskinen Says:

    Itse käytän Technotrendin budget-korttia ja Terratecin Cinergy 1200C korttia. Molemmissa SAA7146 piiri. En ole amd64:sta kokeillut mutta i386 Ubuntuissa ne on toimineet heittämällä mukana tulevan kernelin omilla ajureilla. Aikaisemmin käänsin itse kernelit, ja aikoinaan dvb-ajureiden kanssa oli ongelmia mutta ei muistaakseni enää vähään aikaan. Voisit ehkä kokeilla uusinta itse käännettyä kerneliä?

  6. j.a.j. Says:

    Olen tässä tuskaillut mythdora-asennuksen kanssa johtuen tuosta tsid -ongelmasta. näyttää siltä, että tuo ongelma on fixattu, mutta tuo ei vielä taida löytyä mistään helposti asentuvasta paketista. http://cvs.mythtv.org/trac/changeset/12799

  7. Eero Kokko Says:

    Ensiksi haluisin kiittää ohjeesta! Tuskastelin tämän ongelman kanssa varmaankin viikon. Nyt parin viikon toiminnan jälkeen ilmeni sellainen ongelma, ettei EIT (EPG?) löydä tuon mtv3/nelonen-kanavanipun ohjelmatietoja. Ylen tiedot löytyy. Tuli vain mieleen, että voisiko ongelma liittyä jotenkin tähän. Taisin kyllä päivittääkin MythTV:n tässä välissä, downgradea voisi kait kokeilla.

  8. Timo Taskinen Says:

    Mitä versiota käytät? Valmiiksi paketoiduissa versioissa voi olla ongelmia ainakin TTV:n verkossa. Jos mahdollista käännä MythTV itse lähdekoodista tämän sivun ohjeiden mukaan. Muista muuttaa lähdekoodiin tiedostoon mythtv/libs/libmythtv/tv_rec.cpp riville 1725:

    Vanha rivi 1725: if (netid > 0 && tsid > 0 && progNum >= 0)
    Korjattu rivi 1725: if (netid >= 0 && tsid > 0 && progNum >= 0)

  9. Eero Kokko Says:

    Gentoon portagessa on uusin versio mythtv-0.20.2_p14324, joka näytti päivitysrutiinissa tulleen, mutta alunperin asensin version mythtv-0.20.1_p14146. EIT näköjään meni tässä päivityksessä rikki. Gentoossahan kaikki käännetään, mutta mahtaakohan noita muutoksia saada sörkittyä siten, että voisi kääntää vielä portagessa, ei ehkä? Onnistuisiko homma sillä aiemmalla ohjeella, jossa mySQL-tietokantaan korvattiin mythconverg nullit nollilla?

  10. Timo Taskinen Says:

    Itselläni ei ole kokemusta Gentoon Portagesta, mutta ainakin minulla tuo MTV3:n muxista puuttuvat ohjelmatiedot ovat aiheutuneet tuosta tv_rec.cpp tiedoston rivistä 1725. Voihan se kuitenkin olla että Gentoon mythtv-0.20.1_p14146 paketissa tuo on jo korjattu. Muistaakseni luin kuitenkin joskus MythTV:n postituslistalta että tuo “korjaus” aiheutti ongelmia Atlantin huonommalla puolella joidenkin MPEG-kaappauskorttien kanssa, joita MythTV merkitsi fiksusti netid:llä 0. Fiksusti sikäli että DVB-spekseissä netid 0 on ihan sallittu arvo ja sitä tunnutaan harrastavan Suomessa enemmänkin.

    Tuo tietokannan puukotus null -> 0 auttaa käsittääkseni siihen että kanavaskanneri ei löydä kuin Yleisradion kanavat. Mutta tarkista nyt sekin, ihan varmaa on se että niitä null arvoja siellä ei saa olla. Jos niitä löydät niin poista vaikka ensin mythtv-setupissa kaikki transport streamit ja kanavat, jonka jälkeen tee manuaalinen skannaus pelkälle Yleisradion muxille. Kun ne kanavat ovat löytyneet, käy tietokannassa muuttamassa null -> 0 ja sitten skannaa loput kanavat, vaikkapa manuaalisesti muxi kerrallaan niin ei tarvitse lopuksi yksitellen poistaa turhia kanavia.

  11. Eero Kokko Says:

    Näköjään ainakin tuossa 0.20.2-versiossa on valmiina “netid >= 0″. Mikseiköhän tuo nyt sitten löydä MTV3:n muxista ohjelmatietoja. =)

  12. Jussi Saarinen Says:

    Mä joudun ainakin ajamaan mythfilldatabase:n käsin ja joskus useampaan kertaan että tulee tarvittavat ohjelmatiedot esim MTV3:n nipulle? Em. ajossa tulee herjaa:

    config file /home/jms/.mythtv/tv_grab_fi.xmltv does not exist, run me with –configure

  13. Timo Taskinen Says:

    Eero: Varmista että myth-setupissa kanavaeditorissa on MTV3:n muxin kanavissa se “Use EIT data” tms.

    Jussi: Tuo mythfilldatabase ja xmltv viittaa vanhaan systeemiin jossa ohjelmatiedot haettiin Internetistä. Suomalaisten kanavien ollessa kyseessä muistaakseni Katso.fi sivuilta. Googleta “xmltv”.

    Nykyään EPG (ts. EIT) tietoja käytettäessä xmltv:tä tai mythfilldatabasea ei käytetä lainkaan. Kannattaa tarkkailla mythbackendin logia/konsolia. Siellä pitäisi näkyä jotain tälläistä:

    2007-09-26 23:24:51.723 EITScanner: Now looking for EIT data on multiplex of channel 3
    2007-09-26 23:25:06.514 EITScanner: Added 104 EIT Events

  14. Jussi Saarinen Says:

    Joo ei tuo mythfilldatabase:n ajo EIT:ä päivittänyt. Joku Welhon asiakas oli huomannut että kun katsoo tällaista kanavaa jonka EIT ei automaattisesti päivity noin parikymmentä sekuntia niin tämän jälkeen EIT päivittyy? Tuo näytti toimivan myös minulla…

    http://www.linuxtv.fi/viewtopic.php?t=2493

  15. Vuorovaikutus » Arkisto » MythTV löytää vain Ylen kanavat Says:

    [...] MythTV:ssä on bugi, jonka takia networkid:n arvo nolla tallentuu MySQL-tietokantaan arvona NULL. [...]

  16. Mika J Says:

    Elämä Mythin ja TTV:n kaapelin kanssa jatkuu. Seuraavia havaintoja olen tehnyt viime kuukausina.

    1. Minulla on kaksi DVB-korttia, joista toisessa Common Interface ja TTV:n kortti MTV kanavapaketilla. EIT skanneri ei aina osaa hakea EPG:hen ohjelmatietoja salatuista kanavista. Joskus auttaa korttien määrittely uudelleen eri järjestyksessä. En ole vielä keksinyt millä logiikalla kortti valitaan.
    2. MTV3 lakkasi näkymästä kanavalistassa “Watch TV” moodissa. Tallennus toimi yhä. Mysql kannassa näkyi ‘channum’ olevan sama MTV3 ja Jetix kanavilla. Deletoin Jetixin ja MTV3 ilmestyi takaisin.
    3. Cable open viikonloppuna näkyivät kaikki kanavat hienosti, mutta ilmaiskatselun päätyttyä MTV3 maksukanavien multiplexistä en enää saa purettua tilaamiani kanavia. Kaikki vanhat kikat kokeiltu ja kanavat viritetty uudelleen. Vielä selvittämättä tämä ongelma.

Leave a Reply

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in