TVHeadend ja suomenkielinen ohjelmaopas

Vaihtoehtoja VDR:lle? Keskustele vapaasti muista vastaavista järjestelmistä
Vastaa Viestiin
antoine
Asiantuntija
Viestit: 137
Liittynyt: 20.04.2009 18:29
Paikkakunta: Hämeenkyrö

TVHeadend ja suomenkielinen ohjelmaopas

Viesti Kirjoittaja antoine » 06.05.2011 13:09

Kotimaisten TV-kanavien yhteydessä lähetetty elektroninen ohjelmaopasvirta sisältää ohjelmien nimet ja kuvaukset pääsääntöisesti sekä suomen että ruotsin kielellä. TVheadend - muokkaamattomassa muodossaan - puolestaan ei ota toiminnassaan lainkaan huomioon tällaista kaksikielisyyttä, mistä seuraa kielten sekamelska ohjelmaopasta luettaessa ja ohjelmia tallennettaessa.

Seuraavan patchin avulla tvheadend poimii ohjelmatietovirrasta ensisijaisesti suomenkielistä tietoa, eikä siis enää kirjoita satunnaisesti päälle ruotsinkielisiä kuvauksia. Vaihtamalla kielikoodia "fin" on toki helppo valita nimenomaan ruotsinkieliset kuvaukset.

MUUTOS: nykyistä git-koodia vastaan on käytettävä tätä:
tvheadend-suomiepg.patch.tgz
(481 Bittiä) Tiedosto ladattu 341 kertaa
Alla oleva toimii siis vain 2.12-versiossa:

Koodi: Valitse kaikki

diff -ur hts-tvheadend-2.12-orig/src/dvb/dvb_tables.c hts-tvheadend-2.12/src/dvb/dvb_tables.c
--- hts-tvheadend-2.12-orig/src/dvb/dvb_tables.c        2011-02-17 12:26:53.000000000 +0200
+++ hts-tvheadend-2.12/src/dvb/dvb_tables.c     2011-02-21 15:09:34.000000000 +0200
@@ -571,6 +571,7 @@
       continue;
     }
     int changed = 0;
+    int suomenkielinen_saatu = 0;

     *title = 0;
     *desc = 0;
@@ -585,6 +585,15 @@
                                 title, sizeof(title),
                                 desc,  sizeof(desc),
                                 t->s_dvb_default_charset)) {
+         char language[4];
+          memcpy(language, &ptr[0], 3);
+          language[3] = '\0';
+
+          if (!strcmp(language,"fin"))
+               suomenkielinen_saatu = 1;
+          else if (suomenkielinen_saatu)
+               break;
+
          changed |= epg_event_set_title(e, title);
          changed |= epg_event_set_desc(e, desc);
        }
diff -ur hts-tvheadend-2.12-orig/src/epg.c hts-tvheadend-2.12/src/epg.c
--- hts-tvheadend-2.12-orig/src/epg.c   2011-02-17 12:26:53.000000000 +0200
+++ hts-tvheadend-2.12/src/epg.c        2011-02-21 15:08:22.000000000 +0200
@@ -133,14 +133,8 @@
 int
 epg_event_set_desc(event_t *e, const char *desc)
 {
-  if(e->e_desc != NULL && strlen(e->e_desc) >= strlen(desc)) {
-    /* The current description is longer than the one we try to set.
-     * We assume that a longer description is better than a shorter
-     * so we just bail out.
-     * Typically happens when the XMLTV and DVB EPG feed differs.
-     */
+  if(e->e_desc != NULL && !strcmp(e->e_desc, desc))
     return 0;
-  }
   free(e->e_desc);
   e->e_desc = strdup(desc);
   return 1;
Vielä vanhemmissa versioissa on käytettävä aiemmin julkaisemaani (vaikkakin lähes identtistä) patchia:
viewtopic.php?p=29261#p29261

Tällaiset puukotuksethan tehdään komentamalla ohjelman lähdekoodin sisältävässä juurihakemistossa seuraavasti:

Koodi: Valitse kaikki

patch -p1 <~/tvheadend-suomiepg.patch
missä luonnollisesti viitataan tiedostoon, jonka sisältö on kopioitu ylempää.
Arch Linux, joka itselläni pyörittää tv-palvelinta, käyttää lähdekoodista käännettävien pakettien kokoamiseen tiedostoa PKGBUILD, jonne yllä oleva komento lisätään ./configure-rivin yläpuolelle. Muista jakeluista perillä olevan voinevat kertoa viisaimman tavan toteuttaa puukotus niitä käytettäessä.
Viimeksi muokannut antoine, 20.08.2012 8:31. Yhteensä muokattu 1 kertaa.
tvheadend @arch linux @rpi → itunes @imac → apple tv

BoxFreak
Havittelija
Viestit: 34
Liittynyt: 25.10.2010 19:08

Re: TVHeadend ja suomenkielinen ohjelmaopas

Viesti Kirjoittaja BoxFreak » 14.02.2012 19:02

XBMC Openelec ja TVHeadend täällä käytössä. Onko tämä patch edelleen ainoa ja helpoin keino saada EPG suomenkieliseksi?

kukuardo
Asiantuntija
Viestit: 135
Liittynyt: 06.12.2005 12:03
Paikkakunta: Kemi

Re: TVHeadend ja suomenkielinen ohjelmaopas

Viesti Kirjoittaja kukuardo » 14.02.2012 23:58

xmltv kautta tulee mulle ainkin suomi epg.

BoxFreak
Havittelija
Viestit: 34
Liittynyt: 25.10.2010 19:08

Re: TVHeadend ja suomenkielinen ohjelmaopas

Viesti Kirjoittaja BoxFreak » 15.02.2012 11:56

kukuardo kirjoitti:xmltv kautta tulee mulle ainkin suomi epg.
Ööö olen melko aloittelija linuxin ja dvbn suhteen, löytyykö tähän jostain ohjetta? Onnistuuko jopa TVheadend service addonin asetusten kautta web-osoitteella, vai pitääkö tolle olla konffifilu jota muokataan? Ja onnistuukohan toi muokkaus Openelecissä? :roll:

kukuardo
Asiantuntija
Viestit: 135
Liittynyt: 06.12.2005 12:03
Paikkakunta: Kemi

Re: TVHeadend ja suomenkielinen ohjelmaopas

Viesti Kirjoittaja kukuardo » 15.02.2012 13:18

tällä hetkellä on vdr/xmbc käytössä,mutta muistelen että siellä tvheadentin hallinta sivulla olis suoraa valina epg:lle et hakee ohjelmat xmltv kautta,tosin mulla pyöri toi tvheadend serverillä ja openelec on vain client koneena.

antoine
Asiantuntija
Viestit: 137
Liittynyt: 20.04.2009 18:29
Paikkakunta: Hämeenkyrö

Re: TVHeadend ja suomenkielinen ohjelmaopas

Viesti Kirjoittaja antoine » 20.08.2012 8:36

Tekijäporukan vaihtumisen jälkeen on tvheadendin kehitysvauhti nopeutunut huimasti - mm. ohjelmaoppaan keräämiseen käytetyt rakenteet ovat kokeneet jokseenkin täydellisen muodonmuutoksen. Eit:stä peräisin olevaa tavaraa käsitellään kuitenkin aika lailla samoin kuin ennenkin, joten sain tämän puukotuksen luullakseni toimimaan myös uuden koodin kanssa. Jospa uudet tekijät toteuttaisivat aikanaan kunnollisen tuen myös monikielisille ohjelmaoppaille...
tvheadend @arch linux @rpi → itunes @imac → apple tv

Vastaa Viestiin