Tavoite: televisiolähetyksiä vastaanottava, tallentava ja näyttävä laite, johon mahtuu riittävästi nauhoituksia, joka osaa tallentaa nauhoituksia dvd-levyille, streamata/lähettää niitä verkon yli tietokoneille ja jota voi ohjata www-liittymällä.
Ratkaisu: Vanha Pentium III 500 MHz, jossa Debian GNU/Linux, vanha Hauppaugen analoginen tv-viritin sekä MythTV-ohjelmisto.
Eniten säätämistä oli loppujenlopuksi ohjelmisto-RAIDin ja LVM2:n käyttöönotossa. Koska laitteessa oli kolme vanhaa kiintolevyä (40+60+40 GiB), katsoin parhaaksi varautua levyrikkoihin. Sen lisäksi, että smartd valvoo levyjä ja lähettää sähköpostia levyjen alkaessa nikotella, kaikki tärkeä sisältö on kahdennettu ohjelmisto-raidin mirror-toiminnolla. Joka
levyltä on varattu noin 12 GiB osio raidin käyttöön. Ohjelmisto-raid käyttää kahta osiota jatkuvasti ja jommankumman pettäessä ottaa kolmannen käyttöön. Tämä mirroroitu osio, samoin kuin kaikki muut levyosiot, on annettu LVM2:lle fyysisinä osioina. Näistä osioista on rakennettu kaksi levyryhmää, joista toinen käyttää mirroroitua laitetta ja toinen tavallisia levyjä. Mirrorin
päällä oleva levyryhmä on jaettu loogisiin osioihin, jotka sisältävät tavaraa, jota ei voi noin vain generoida uudelleen (/, /home, /var, /usr/local). Ei-mirroroidusta levyryhmästä on jaettu vähemmän kriittiset loogiset osiot (/tmp, /var/cache, /usr, /scratch). Suurin osa levytilasta on annettu /scratch:lle, jonne mythtv:n videot ja kaikki muukin multimedia tallennetaan.
Isoin vaiva oli root-osion sijoittaminen raid-lvm2-osiolle. Lopulta homma hoituu suhteellisen helposti: kerneliin käännetään staattisesti mukaan raid- ja lvm-toiminnot (MD, DM, RAID*) sekä initrd-tuki. Tämän jälkeen tehdään tarvittava initrd-image sopivalla apuohjelmalla (lvm2create_initrd) ja homma alkaa jo pelittää.
MythTV:n heittäminen sisään on sinänsä aika suoraviivaista, mutta analogivirittimen kanssa kannattaa varata esille kanavien viritystiedot, sillä ne joutuu käsin syöttämään järjestelmään.
500 MHz:n PIII riittää analogisyötteenkin tallentamiseen varsin kivasti – televisiosignaali tallennetaan RTjpeg-codecilla, joka on erittäin kevyt käyttää (se vaatii ehkä 60-80% koneen tehoista), mutta joka toisaalta syö levytilaa iloiset 8 gigatavua tunnissa. Onneksi MythTV:n voi säätää ajamaan heti nauhoituksen jälkeen transkoodaus, jossa RTjpeg muunnetaan MPEG-4:ksi, joka vie kohtuulliset noin 1 gigatavua tuntia kohti (säädettävissä vapaasti tiukemmaksikin, jos kuvanlaadulla ei ole niin väliä). Tällä kokoonpanolla puolen tunnin ohjelman transkoodaus vie reilun tunnin.
Television katsominen suoraan media-PC:ltä ei onnistu, koska signaalin tallentaminen RTjpeginä syö sen verran tehoja, että signaalin purkaminen ja skaalaaminen ruudulle menee yli koneen kapasiteetin. Mutta netin yli toiselta koneelta katsottuna (eli frontend asennettuna toiselle koneelle) tehot riittävät hyvin.
Kunhan saan hankittua Digi-TV-virittimen, on transkoodaus jo turhaa ja prosessorikuormaa ei tule näinkään paljoa, kun lähetykset ovat valmiiksi MPEG-2-muodossa ja voidaan suoraan vain tallentaa levylle.
Leave a Reply