Tiesitkö, että kun aikoinaan nauhoitit VHS-kasetille telkkarista jonkun ohjelman, nauhalle tallentui kuvan ja äänen lisäksi myös teksti-tv-signaali? Tavalliselle VHS-kasetille nauhoitettuna tämä signaali on niin suttuista, että television dekooderi ei pysty sitä enää purkamaan, mutta nykyisin on olemassa ohjelma, jolla tämän suttuisen teksti-tv-signaalin voi prosessoida takaisin katsottavaan muotoon.
Kyseessä on Alistair Buxtonin käsialaa oleva vhs-decode-niminen avoimen lähdekoodin Python-ohjelma Linux-käyttöjärjestelmälle, jonka repositorio löytyy täältä:
https://github.com/ali1234/vhs-teletext/
Videonauhurin lisäksi tarvitset myös analogisen kaappauskortin, jolla on mahdollista kaapata kuvaruutujen välissä oleva ns. VBI-alue (Vertical Blanking Interval). Tällaisia kortteja ovat mm. Conexant CX2388x-xx -piireihin perustuvat ns. "CX-kortit" sekä Bt8x8-piireihin perustuvat Hauppauge WinTV -kortit.
Mikäli kaappauskortin ajuri paljastaa käyttöjärjestelmälle /dev/vbi0 -laitteen, on se todennäköisesti sopiva tähän tarkoitukseen. Ennen kuin jatkat, varmistu siitä, että kaappauskortti toimii oikein kokeilemalla ensin kaapata normaalia videokuvaa videonauhuriltasi esim. VLC-ohjelmalla.
Suosittelen asentamaan vhs-teletextin VirtualEnvillä luodun virtuaaliympäristön sisään, jotta se ei sotke käyttöjärjestelmän muita osia.
Varsinaiset asennusohjeet löydät README.md-tiedoston INSTALLATION-osiosta. Mikäli asennus pysähtyy virheeseen, yleensä syynä on jokin puuttuva riippuvuus. Näissä tapauksissa tarkista virheilmoituksesta puuttuvan paketin nimi ja asenna se käyttämäsi Linux-jakelun paketinhallinnasta.
Teksti-tv-sivujen digitointi koostuu vähintään seuraavista vaiheista:
HUOM: Ennen kuin aloitat, varmista, että kaappauskorttisi piiri löytyy vhs-teletextin tukemien korttien listalta. Listan saa esille teletext record --help -komennolla. Edellä näkyvä tallennuskomento on kirjoitettu cx88-piiriä silmällä pitäen. Mikäli käytät jollain muulla piirillä varustettua korttia, korvaa komennossa oleva -c -parametri oman korttisi mukaisella parametrilla.
Kelaa nauha sen ohjelman alkuun, josta haluat digitoida teksti-tv-sivuja. Aloita videon toisto nauhurissa ja aloita tietokoneella VBI-signaalin tallennus komennolla:
teletext record -c cx88 -d /dev/vbi0 > capture.vbi
Hyvälaatuinen lopputulos vaatii yleensä 20 - 30 minuutin mittaisen tallenteen, mutta toisinaan myös lyhyempikin tallenne riittää kelvolliseen lopputulokseen. Ota kuitenkin huomioon, että lyhyemmät tallenteet eivät välttämättä sisällä kaikkia alasivuja. Kun olet tallentanut riittävästi, lopeta tallennus painamalla Ctrl+C.
Tallennettu VBI-signaali on nyt tiedostossa capture.vbi. Seuraavaksi prosessoidaan tämä tiedosto t42-striimiksi, joka sisältää teksti-tv-sivujen tiedot:
teletext deconvolve capture.vbi > stream.t42
Mikäli koneessasi on NVidian näytönohjain ja asensit ohjelman CUDA-tuen kanssa, deconvolve-komento käyttää näytönohjaintasi automaattisesti apuna laskennassa. Muilla näytönohjaimilla voit käyttää OpenCL-tukea lisäämällä -O -parametrin komentoon:
teletext deconvolve -O capture.vbi > stream.t42
Kun komento on suoritettu, voit tarkistaa, että t42-striimistä löytyy teksti-tv-sivuja seuraavalla komennolla:
teletext filter -r 0 stream.t42
Viimeinen vaihe analysoi t42-striimistä löytyviä teksti-tv-sivuja ja pyrkii päättelemään mikä niistä on todennäköisimmin vähiten virheitä sisältävä kopio. Virheiden vähentämisen lisäksi litistys myös nimensä mukaisesti pienentää tiedoston murto-osaan alkuperäisestä koostaan. Litistys suoritetaan seuraavalla komennolla:
teletext squash stream.t42 > output.t42
Mikäli sait asennettua vhs-teletextin asennusohjeissa mainitut fontit ym. riippuvuudet, voit nyt avata kaappaamasi teksti-tv-materiaalin interaktiivessa selaimessa komennolla:
teletext service output.t42 | teletext interactive
Voit myös muuntaa sivut HTML-muotoon seuraavalla komennolla (korvaa html-hakemisto haluamallasi hakemistolla):
teletext html --localcodepage=swe html-hakemisto/ output.t42
Kopioi lopuksi vhs-teletext/misc/ -hakemistossa olevat tiedostot html-hakemistoosi, jotta sivut näkyvät selaimessa oikein.