TVHeadend ja suomenkielinen ohjelmaopas

Vaihtoehtoja VDR:lle? Keskustele vapaasti muista vastaavista järjestelmistä
Post Reply
antoine
Asiantuntija
Posts: 146
Joined: 20.04.2009 18:29
Location: Hämeenkyrö

TVHeadend ja suomenkielinen ohjelmaopas

Post by antoine »

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 Bytes) Downloaded 399 times
Alla oleva toimii siis vain 2.12-versiossa:

Code: Select all

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:

Code: Select all

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ä.
Last edited by antoine on 20.08.2012 8:31, edited 1 time in total.
tvheadend @arch linux @rpi → itunes @imac → apple tv

BoxFreak
Havittelija
Posts: 34
Joined: 25.10.2010 19:08

Re: TVHeadend ja suomenkielinen ohjelmaopas

Post by BoxFreak »

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

kukuardo
Asiantuntija
Posts: 135
Joined: 06.12.2005 12:03
Location: Kemi

Re: TVHeadend ja suomenkielinen ohjelmaopas

Post by kukuardo »

xmltv kautta tulee mulle ainkin suomi epg.

BoxFreak
Havittelija
Posts: 34
Joined: 25.10.2010 19:08

Re: TVHeadend ja suomenkielinen ohjelmaopas

Post by BoxFreak »

kukuardo wrote: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
Posts: 135
Joined: 06.12.2005 12:03
Location: Kemi

Re: TVHeadend ja suomenkielinen ohjelmaopas

Post by kukuardo »

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
Posts: 146
Joined: 20.04.2009 18:29
Location: Hämeenkyrö

Re: TVHeadend ja suomenkielinen ohjelmaopas

Post by antoine »

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

Post Reply