nxtvepg ohne X integrieren

Die Software nxtvepg ist eine exzellente Wahl, will man ein Eletctronic Program Guide über Antenne, Kabel oder Satellit nutzen. nxtvepg benötigt keine Internetverbindung, da die Daten direkt aus dem Fernsehprogramm bestimmter Sender entnommen wird. In Deutschland sind das Kabel1 und RTL II.
Inhaltsverzeichnis

Die Software nxtvepg ist eine exzellente Wahl, will man ein Eletctronic Program Guide über Antenne, Kabel oder Satellit nutzen. nxtvepg benötigt keine Internetverbindung, da die Daten direkt aus dem Fernsehprogramm bestimmter Sender entnommen wird. In Deutschland sind das Kabel1 und RTL II.
Leider gibt es ein Problem dabei. nxtvepg benötigt einen X Server, da es die Bibliothek Tk verwendet, um die Dialoge zur Konfiguration und zur Anzeige des Programms anzuzeigen.
In meinem Fall möchte ich kein X verwenden und benötige nxtvepg lediglich dazu die Daten aus den Sendern zu extrahieren und sie in eine Datei zur Auswertung durch den VDR bereitzustellen.

Weitere Informationen über nxtvepg gibts auf der Homepage.

Installation
  • Installieren der TCL:
    emerge tcl
  • Installieren von nxtvepg:
    tar xvzf archiv/nxtvepg-2.7.2.tar.gz
    zcat archiv/nxtvepg-2.7.2-to-3.diff.gz|patch -p0
    mv nxtvepg-2.7.2 nxtvepg-2.7.3
    cd nxtvepg-2.7.3/
    patch -p1 < ../archiv/nxtvepg-2.7.3-pvr.patch make make install

Der nxtvepg-2.7.3-pvr.patch verändert nxtvepg dahingehend, dass kein X und kein Tk mehr benötigt werden.

nxtvepg-2.7.3-pvr.patch 1358 Downloads
Konfiguration

Da wir kein X haben und daher keine Möglichkeit die schönen Dialoge zur Konfiguration zu verwenden, müssen wir uns auf andere Art behelfen.

Ich habe mir zunächst eine gütige nxtvepg Konfiguration auf einem Rechner mit X eingerichtet und die Datei dann einfach kopiert. Für alle, die diese Chance nicht haben, hier meine Konfiguration:

pvr nxtvepg-2.7.3 # more /root/.nxtvepgrc
set nxtvepg_version 0x020700
set nxtvepg_version_str 2.7.0
set rc_compat_version 0x020690
set rc_timestamp 1092461995
set shortcuts(10000) {Spielfilme themes {theme_class1 16} {} merge {}}
set shortcuts(10010) {Sport themes {theme_class1 64} {} merge {}}
set shortcuts(10011) {{Ohne Sport} themes {theme_class1 64} theme_class1 and {}}
set shortcuts(10020) {Serien themes {theme_class1 128} {} merge {}}
set shortcuts(10030) {Kinder themes {theme_class1 80} {} merge {}}
set shortcuts(10040) {Shows themes {theme_class1 48} {} merge {}}
set shortcuts(10050) {News themes {theme_class1 32} {} merge {}}
set shortcuts(10060) {Sozial themes {theme_class1 37} {} merge {}}
set shortcuts(10070) {Wissen themes {theme_class1 86} {} merge {}}
set shortcuts(10080) {Hobby themes {theme_class1 52} {} merge {}}
set shortcuts(10090) {Musik themes {theme_class1 96} {} merge {}}
set shortcuts(10100) {Kultur themes {theme_class1 112} {} merge {}}
set shortcuts(10110) {Adult themes {theme_class1 24} {} merge {}}
set shortcuts(10120) {Abends timsel {timsel {0 0 1215 1410 -1}} {} merge {}}
set shortcuts(10130) {{>15 min.} dursel {dursel {16 1435}} {} merge {}}
set shortcut_tree {10000 10010 10011 10020 10030 10040 10050 10060 10070 10080 1
0090 10100 10110 10120 10130}
set prov_selection {0x0D92 0x00FF 0x0D8F}
set cfnetwops(0x00FF) {{0x0D94 0x0DC1 0x0DC2 0x0DAB 0x0DB9
0x0DCB 0x0DCF 0x0DD4 0x0DE0 0x0DE6 0x0DFE 0x0DC7 0x0D88
0x0D92 0x0D8A 0x0D8E 0x0D8F 0x0DBA 0x0D8D 0x0D91 0x0DC9
0x0D85 0x0D8C 0xFFEF 0x9001 0x0D7A 0x0DC8} {}}
set cfnetwops(0x0D8F) {{0x0D8F 0x0DC1 0x0DC2 0x0DAB 0x0DB9
0x0D94 0x0D92 0x0D8E 0x0DD4 0x0DCB 0x0DE6 0x0DFE 0x0DC7
0x0D85 0x0D8A 0x0DC9 0x0DBA 0x0D8D 0x0D91 0x4D54 0x0D88
0x4D59 0x0DCF 0x0DDC 0x0DE0} {}}
set cfnetwops(0xF500) {{0xF500 0x2F01 0x2F02 0x2F03 0x04C2 0x04C8 0xFFF1} {}}
set cfnetwops(0x0D92) {{0x0D94 0x0DC1 0x0DC2 0x0DAB 0x0DB9
0x0DCB 0x0DCF 0x0DD4 0x0DE0 0x0DE6 0x0DFE 0x0DC7 0x0D88
0x0D92 0x0D8A 0x0D8E 0x0D8F 0x0DBA 0x0D8D 0x0D91 0x0DC9
0x0D85 0x0D8C 0xFFEF 0x9001 0x0D7A 0x0DC8} {0x0D82 0xFFF1
0x0AC2 0x0DDC 0x0D44 0x0D78}}
array set cfnetnames {0x0DC9 {ARD/ZDF Kinderkanal} 0xF101 Eurosport
0x01FA {CNN International} 0x4D54 MTV 0x0D94 {PRO 7}
0xF500 TV5 0x0DD4 {Nord-3 (NDR/SFB/RB)} 0x0D8A {Super RTL}
0x4D59 {BBC World} 0xFFEF MTV 0x0D8C n-tv 0x0DFE {MDR-3 Landesweit}
0x0DB9 {SAT 1} 0x0DAB RTL 0x90EB n-tv 0x0D8D {Deutsches Sportfernsehen}
0x0DC1 ARD 0x0D85 {ARD/ZDF Kinderkanal} 0x0D8E VOX 0x0DC2 ZDF
0x0DE0 {SW 3 Rheinland-Pfalz} 0x0DCB {BR-3 Landesweit} 0x9001 TRT-1
0x0D8F {RTL 2} 0x0D7A N24 0x0D88 VIVA 0xF250 TV5 0x0005 {NBC Europe}
0x0DCF {Hessen 3 Landesweit} 0x0D91 Eurosport 0x0DC7 3sat 0x0D92 {Kabel 1}
0x0DBA {NEUN LIVE} 0x0DC8 Phoenix 0x0DE6 {WDR-3 Landesweit}}
array set cfnettimes {}
set cfnetjoin {}
set showNetwopListbox 0
set showNetwopListboxLeft 0
set showShortcutListbox 1
set showLayoutButton 1
set showStatusLine 1
set showDateScale 1
set showColumnHeader 1
set hideOnMinimize 1
set menuUserLanguage 1
set help_winsize 519×516
set prov_merge_cnis {0x0D92 0x0D8F}
set prov_merge_cf {}
set shortinfo_height 16
set pibox_height 28
set pilistbox_cols {weekcol day_month time title netname reminder}
set pibox_type 1
set pinetbox_col_count 6
set pinetbox_col_width 125
set pinetbox_rows {reminder weekday time title theme}
set pinetbox_rows_nonl_l {weekday reminder}
set pilistbox_col_widths {sound 71 format 41 weekcol 20 weekday 35 day_month_yea
r 74 description 15 reminder 30 day 27 par_rating 30 time 86 live_repeat 47 netn
ame 60 title 266 day_month 44 theme 74 ed_rating 30 pil 76 duration 43 subtitles
18}
set pilistbox_usercol(0) {{80 Example &user_def „Compound example“} {{0 Remin
der {bold fg_RGBCC0000 ag_RGBFFCCCC} 2 rgp_all} {0 Movie! {bold fg_RGB0068ce} 3
10000} {2 theme {} -1 -1}}}
set acq_mode follow-ui
set acq_mode_cnis {0x0D92 0x0D8F}
set netacq_enable 0
set hwcf_cardidx 0
set hwcf_input 4
set hwcf_acq_prio 0
set hwcf_slicer_type 0
set hwcf_wdm_stop 0
set wintvapp_path {}
set wintvapp_idx 0
set epgscan_opt_ftable 1
set netacqcf {remctl 1 do_tcp_ip 0 host localhost port 7658 ip {} logname {} max
_conn 10 fileloglev 0 sysloglev 3}
set xawtvcf {tunetv 1 follow 1 dopop 1 poptype 1 duration 7}
set wintvcf {shm 1 tunetv 1 follow 1 dopop 1}
set ctxmencf {{Record as Divx5} {codec=“divx5,divx5″ recordvideo ${network} ${ti
tle} ${start:NaVM NaVm.%Y} ${duration} ${format}} {Record as Xvid} {codec=“xvi
d,xvid“ recordvideo ${network} ${title} ${start:NaVM NaVm.%Y} ${duration} ${fo
rmat}} Videorecorder videorecorder}
set ctxmencf_wintv_vcr 0
set substr_history {{Sendeschluß 1 0 1 1 0 0} {{Gute Zeiten, schlechte Zeiten} 1
0 1 1 0 0} {Sendeschluß 1 0 1 1 0 0}}
set dumpdb_filename {}
set dumpdb_pi 1
set dumpdb_xi 1
set dumpdb_ai 1
set dumpdb_ni 1
set dumpdb_oi 1
set dumpdb_mi 1
set dumpdb_li 1
set dumpdb_ti 1
set dumptabs_filename {}
set dumptabs pi
set dumphtml_filename {}
set dumphtml_file_append 0

set dumphtml_file_overwrite 0
set dumphtml_sel 1
set dumphtml_sel_count 25
set dumphtml_type 3
set dumphtml_hyperlinks 1
set dumphtml_use_colsel 0
set dumphtml_colsel {}
set dumpxml_filename {}
set dumpxml_format 0
set piexpire_cutoff 240
set remlist_winsize 700×320
set rempilist_colsize {4 10 10 13 24 12}
set remsclist_colsize {10 20}
set remgroups(1000000000) {default 5 {{} {} 0} {} 0 0 {} 0}
set remgroups(1000000010) {movies {{15 1}} {{} {} 0} {} 0 0 {} 1}
set remgroup_order {1000000000 1000000010}
set reminders {}
set rem_msg_cnf_time 1090165200
set rem_cmd_cnf_time 1090165200
set prov_freqs {0x0D8F 2356 0x9001 2692 0xF500 3924 0x0D92 4484}

Dabei steht die ID 0D92 für den Sender Kabel1 und die ID 0D8F für RTL II.
Um die EPG-Datenbank zu bestücken startet man nxtvepg im Hintergrund.

nxtvepg -card 0 -prov 0d92 -daemon

Verwendet man FF als ID für den Provider, dann werden die Daten beider Sender also Kabel 1 und RTL II geholt. Das auslesen aller Informationen kann schon ein bischen dauern (1-2 Stunden).
Da die PVR 350 nur einen Tuner hat, wird dieser auch von nxtvepg verwendet, d.h. will man Fernsehen und gleichzeitig die EPG-Daten holen dann wird man immer Kabel 1 oder RTL II schauen.

Hat man die Datenbank auf diesem Weg gefüllt, so extrahiert man die Informationen für den vdr.

nxtvepg -dump pi -prov 0d92 > /tmp/pi.txt
nxtvepg -dump ai -prov 0d92 > /tmp/ai.txt
nxtvepg -dump pdc -prov 0d92 > /tmp/pdc.txt

In der Konfiguration des analogTV Plugis stellt man jetzt noch ein wie der vdr an die Daten kommt.

analogtv.EPGfrom = 0
analogtv.EPGprovider = „D92
analogtv.External = „/usr/local/bin/nxtvepg -dump pi -prov %s > /tmp/pi.txt

Abschließend werden in der Datei /video/plugins/epg.conf, die Sendernamen des VDR auf die Sendernamen von nxtvepg abgebildet, damit der VDR erkennen kann welche Informationen er auslesen muss.
pvr analogtv # more /video/plugins/epg.conf
# Zuordnung VDR-Channel-Name -> nxtvepg-Channel-Name
#
# Hier kann (und darf!) auch analoges EPG in digitale Kanäle
# übernommen werden!
#
# 1. Spalte: Sendername in der channels.conf
# 2. Spalte: Sendername in nxtvepg
# 3. Spalte: Übernahmemodus:
# 0 = immer
# 1 .. n = alles, was n * 12 Stunden später kommt, übernehmen
ZDF:ZDF:0
SAT.1:Sat 1:0
RTL:RTL:0
Pro7:Pro7:0
Kabel 1:Kabel 1:0
Super RTL:SuperRTL:0
RTL 2:RTL 2:0
VOX:VOX:0
3sat:3Sat:0
n-tv:n-tv:0
N24:N24:0
DSF:DSF:0
Eurosport:Eurosport:0
MTV:MTV:0
VIVA:VIVA:0
9 Live:9Live:0
ARD:ARD:0
NDR:NDR:0
WDR:WDR:0
SWR:SW BW:0
HR:HR3:0
MDR:MDR:0
BR:BR3:0
KiKa-arte:Arte:0

Und schon hat man nach einem Neustart des VDR ein EPG verfügbar. :-)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

:bye: 
:good: 
:negative: 
:scratch: 
:wacko: 
:yahoo: 
B-) 
mehr...
 


Diese Seite verwendet Cookies. Mit der Nutzung von tuxlog erklärst Du Dich mit der Verwendung von Cookies einverstanden. Detaillierte Informationen über die Verwendung von Cookies auf dieser Website findest Du in der Datenschutzerklärung.

Nach oben scrollen