RSS-syötettä hyödyntävä nauhoitusohjelma koekäytössä
14.9.2012 Arto Jääskeläinen
Huomattava osa television ohjelmista on katsottavissa myös netin kautta. Ohjelmia pystyy myös nauhoittamaan tietokoneella jolloin ohjeman voi katsella myöhemmin kun siihen on sopiva hetki. Hitaammalla nettiyhteydellä tai tietokoneella tästä on myös se etu että ohjelma näkyy pätkimättä. Nauhoitusta varten on kehitetty ohjelmia jotka mahdollistavat nauhoituksen käynnistämisen suoraan webbiselaimesta. Ohjelmat julkaistaan GPL-lisenssillä eli niiden käyttö ja levittäminen on vapaata.
Sekä YLE Areenan että MTV Katsomon ohjelmia pystyy nauhoittamaan suoraan Firefox -webbiselaimesta asentamalla ensin tarvittavat ohjelmat. Käsittelen tässä yhteydessä vain järjestelmää joka on alkuaan kehitetty Linux: illa käytettäväksi. Huomattava osa kehitykseen liittyvistä asioista on käsitelty Ubuntu-foorumilla:
Ohjelmien testaus ja ohjeistus on tehty aika pitkälle Ubuntulla mutta toteutuksia voi soveltaa muihinkin Debian Linuxeihin. Asennusohjeet Ubuntulle ja samankaltaisille löytyvät täältä:
http://www.homelinuxpc.com/download/Areenan_nauhoituksen_asennus.html
Tätä klikkaa-ja-nauhoita -systeemiä on käytetty pitkään Firefox: ssa ja nauhoituksen toiminta YLE Areenan kanssa on ongelmatonta. Myös MTV Katsomon nauhoitus toimii teknisesti siinä laajuudessa kuin MTV lähettää tarvittavan streamin ulos.
Nykyisen Areenan nauhoitusohjelman ”moottorin” eli komentoriviohjelmana toimivan ”yle-dl” -ohjelman kehittäjä on Antti Ajanki. Hänen sivustonsa tuohon liittyen on täällä:
http://users.tkk.fi/~aajanki/rtmpdump-yle/
Oma osuuteni (Arto Jääskeläinen) on ollut jatkaa loput tuosta eteenpäin eli ”kuorien” ja asennusohjelmien rakentaminen tuon moottorin ympärille Linux: ssa. Tavoitteenana on ollut tehdä kokonaisuudesta riittävän helppo sekä asentaa että käyttää ja samalla dokumentoida asennustoimet ymmärrettävästi. Käytännössä tämä tarkoittaa että olen rakentanut .deb -asennuspaketit, kirjoittanut asennusohjelmat, kehittänyt menujärjestelmää Firefox: lle, kirjoittanut ohjeita ja ylläpitänyt omaa asennuspalvelinta. Ubuntu-foorumin käyttäjät ovat auttaneet hyvin monipuolisesti, antaneet hyviä ideoita ja teknisiä ratkaisuja. Kiitos kuuluu kaikille heille ja ohjelmien käännösongelmien ratkomisesta Ubuntu-foorumin käyttäjälle ”nm”.
Mahdollisuus valita Firefox: in menusta ohjelman nauhoitus on jo hyödyllinen ominaisuus mutta jättää vielä toivomisen varaa:
Pitää olla itse paikalla että saa ohjelman talteen.
Pitää lisäksi muistaa nauhoittaa ennen kuin ohjelma poistuu.
Mielenkiintoisen ratkaisun asiaan tarjoaa kuitenkin YLE Areenan tarjoama RSS-syöte: Sieltähän tulee aina tieto uusimmista ohjelmista. Tehdään siis ohjelma joka osaa tulkita RSS-syötettä ja nauhoittaa käyttäjän valitsemat ohjelmat aina heti kun ne ilmestyvät.
Idean testaus alkoi alkuvuodesta 2012 ja se näytti erinomaiselta. Tietokone hoitaisi sivupuuhinaan tv-ohjelmien nauhoituksen netin kautta ilman että tarvitaan mitään lisälaitteita. Tuohan on itseasiassa toiminnaltaan ”nauhoittava digiboxi netin kautta” omassa tietokoneessasi.
Idean testaukseen käytetyn tynkäkoodin jälkeen on kehiteltävää riittänyt. Ohjelma on kirjoitettu uusiksi jo useamman kerran ja se on saanut samalla oleellisia parannuksia. Tärkein osa on ohjelmoitu diimoniksi (taustaohjelmaksi joka pyörii ilman että käyttäjän tarvitsee olla kirjautuneena tunnuksellaan). Ubuntussa esimerkiksi tämän taustapalvelun voi tutulla tavalla käynnistää ja sammuttaa ”sudo service <palvelun_nimi> start/stop”.
Nykyisen ensiversion toiminta vaikuttaa vakaalta ja on jo toiminnaltaan käyttökelpoinen. Kehitettävää varmasti löytyy ja muutoksia voi tapahtua.
Uusi ohjelmisto sai nimen ”Auto DL” kuvaten ohjelmiston tehtävää.
Ohjelman asennuksen jälkeen Firefox: ssa hiiren oikeanpuoleseen menuun on liitetty uusi valinta joka osaa avata RSS-napin takaa syötteen ja rakentaa siitä menun. Käyttäjä valitsee ”rasti ruutuun” menetelmällä ohjelmat joita jatkossa nauhoitetaan automaattisesti. Talletuksen jälkeen valinnat säilyvät vaikka käyttäjä ei ole kirjautuneena koneelle. Valinnat ovat kullekin käyttäjätunnukselle erikseen, toinen käyttäjä samalla koneella voi tehdä ja tallettaa omat valintansa.
Taustalla syötelukijoita hallitseva ”Feed Manager” -ohjelma (=”syötelukijoiden pomo”) havaitsee kaikkien koneen käyttäjien valinnat ja käynnistää vastaavasti rss-lukijaohjelman seuraamaan kutakin syötettä ja nauhoittelemaan seurannan luoneen käyttäjän omaan ”Videot” -kansioon. Jos käyttäjä poistaa aiemmin valitsemansa syötteen kaikki ohjelmat seurattavien tv-ohjelmien listalta niin ”rss-lukijoiden pomo” huomaa ilman työjonoa jääneen rss-lukijan ja sammuttaa sen. Syötelukijat pitävät kirjaa jo nauhoitetuista ohjelmista ja kirjoittavat myös lokitiedostoon tapahtumat. Samoin syötelukijoita hallitseva ohjelma merkitsee tapahtumat omaan lokiinsa. Toteutus hyödyntää eri kehittäjän (Antti Ajanki) tekemää ”yle-dl” ohjelmaa itse nauhoitustapahtumaan.
Uusi tekniikka on kehitetty YLE Areenan RSS-syötettä käyttäen. Syötelukijan ohjemakoodi on kirjoitettu tulkitsemaan Areenan RSS-syötteen käyttämää XML-schemaa. Syötekoodia muuntavan osan säännöt on kuitenkin kirjoitettu pieneksi erilliseksi ladattavaksi ohjelmamoduliksi jolloin uudenlaisen syötteen tulkintaan saattaa riittää yksi uusi syötteen muunnoksen sääntötiedosto. Tuo voi helpottaa esimerkiksi Katsomon tai minkä hyvänsä myöhemmin käyttöönotettavan YLE Areenan kaltaisen RSS-palvelun lisäämistä automaattinauhuriin.
Ohjelma noudattaa RSS-syötteen välittämää ttl-parametria. Tämä mahdollistaa esimerkiksi syklin pidentämisen huoltokatkon alla ja palaamisen normaaliin katkon jälkeen. Teknisenä erikoisuutena, ohjelma luo tilapäisiä .tsv taulukkotiedostoja syötteestä joita voi halutessaan selata toimisto-ohjelmilla (taulukkolaskenta). Syötteessä esiintyvät poikkeamat osuvat silmään näissä heti.
Sponsoreita tällä uuden tekniikan kehitystyöllä ei ole tätä kirjoitettaessa ensimmäistäkään. Kehitystyö on tehty teknisestä mielenkiinnosta ja omaa/perheen aikaa runsaasti käyttäen. Ohjelman koodi on julkaistu avoimena (GPL) ja on kenen hyvänsä vapaasti käytettävissä. Sponsorointi toki auttaisi omistamaan aikaa kehittelyyn mutta merkilliseksi kokemani Suomen lainsäädäntö (juttua tuosta muualla) estää yksityshenkilöä edes pyytämästä sponsorointia julkisesti oli tarkoitus tai kehiteltävä idea miten hyvä/hyödyllinen tahansa.