DVB-Cube BETA <<< Das deutsche PC und DVB-Forum >>>
Diverse DVB Software für verschiedene Karten => # Linux DVB (vdr, kaffeine, ect.) => Thema gestartet von: mtron am 02 Juni, 2007, 17:22
-
Habe mir heute einmal das SiehFernInfo (http://www.siehferninfo.de/) von Technisat angeschaut.
Das Service ist ein gut gepflegtes 7 Tage EPG für die meisten deutschsprachigen & einigen anderen Sendern. Es wird auf Astra Transponder 116 (http://: http://en.kingofsat.net/tp.php?tp=116) als unverschlüsselter Datenstream in ISO 8859-1 ausgestrahlt.
Die genauen Empfangsdaten:
Kanal: STB Technisat - Astra 1G (19.2E) - 12669.50 V 22000 - TP:116 - SID:112 - PMT:112 - PCR:8191
Im vdr kann der Stream mit Hilfe des Tvmovie2vdr Plugins (http://www.vdr-wiki.de/wiki/index.php/Tvmovie2vdr) als EPG Quelle eingebunden werden.
Das script tvm2vdr.pl aus dem plugin-archiv erledigt das und greift dabei auf einen dafür geschriebenen standalone - Grabber zurück: infosatepg (http://www.herzomedia.net/schwarzott/vdr/)
Im VDR - wiki ist ein Artikel dazu (http://www.vdr-wiki.de/wiki/index.php/Infosatepg) verfügbar. Der Grabber selbst funktioniert ganz einfach:
In kaffeine (oder mit szap) zu einem Kanal auf transponder 116 (http://en.kingofsat.net/tp.php?tp=116) zappen, (egal ob bild kommt, oder nicht ;)), in einem terminal dann die kompilierte infosatepg binary starten
./infosatepg -a0 -o $HOME/epg
infosatEPG v0.1.2
Start receiving from PID 1809
Received 1501 of 1501 data blocks [100.00%]
1 DAY 02.06 [ done] ################################################################
2 DAY 03.06 [ done] ##############################################################
3 DAY 04.06 [ done] ###################
4 DAY 05.06 [ done] ################
5 DAY 06.06 [ done] ####~###########
6 DAY 07.06 [ done] ############
7 DAY 08.06 [ done] #
infosatdecoder: data reception complete
die switches sind
-a0 ... Nummer der zu verwendenden Adapter - Karte
-o $HOME/epg ... Ordner wo die Daten gespeichert werden sollen
Wie man im Console log sieht, geht der Grabber die files für alle tage durch und speichert sie auf die festplatte (Gesamtgröße ca. 2 MB ein dump von heute ist hier (http://mtrons.googlepages.com/siehferninfo.zip) )
Die Textfiles der einzelnen Tage sind nach folgendem Schema aufgebaut
@P.. für Programmname (Empfangsparameter)
|
-@E.. Event Programmtitel
|
-@S.. Kurzbeschreibung
| (eventuell noch)
- @L .. Ausführliche Beschreibung
im Dump von heute sieht dies so aus:
@P:3sat(ASTRA 19.2E,11954,28007) 02.06.2007 /W /S 06:15
@E:06:15 anders fernsehen
@S:Programmvorschau, 5 Min.
@E:06:20 Kulturzeit
@S:Magazin Kultur, 40 Min.
@L:U.a. mit folgendem Thema:"Sechstagekrieg 1967"
Er schuf Helden und Mythen aber auch Probleme, die bis heute
nicht gelöst sind.A / CH / D, 2007
@E:07:00 nano
920
@S:Magazin Wissenschaft/Technik/Umwelt: \
Naturwissenschaften, 30 Min.
@L:Die Welt von morgen, Organmangel Ärzte entwickeln neue \
Strategien für mehr Spenderorgane, Apfelzucht Biologen \
forschen für mehr Geschmack und \
Vielfalt, Fahrkomfort:Biker testen Sicherheit und \
Bequemlichkeit des Liegefahrrads, Deutschland, 2007
@E:07:30 Esquisses de France
970
@S:Folge 9/10: En Roussillon, Kultur: Sprache, 30 Min.
@L:Moderation: Anouk Charlier
Wäre super eine solche EPG - Quelle die gratis ist und über Sat kommt importieren und für kaffeine und vor allem mythtv verwenden zu können.
Es fehlt eigentlich nur ein sql importscript für die mythconv Datenbank, bei kaffeine weiss ich nicht wie viel arbeit das wäre und ob ein bash script, das es in den richtigen syntax bringt, reicht.
-
mtron, Du bist genial!! 8)
-
habe momentan leider keine Zeit die Sache weiter zu verfolgen, aber sobald die UNI vorbei ist, gibt's ein schönes Howto wie man diese EPG Quelle in myth einbindet, versprochen! ;)
-
so, um mal dieses Projekt zu beenden (dank dem Regenwetter) hab ichs mitterweile zum laufen gebracht. Das Ergebnis ist leider nicht ganz so toll wie ich es mir vorgestellt habe :(
Technisat liefert leider nicht alle Sender die auf http://www.siehferninfo.de/ (http://www.siehferninfo.de/) abrufbar sind über Astra. Einige Interessante EPG's wie z.B. BBC World und Euronews sind leider nicht dabei.
Da ich aber daran interessiert war meine EPG Lücken (soll heissen Sender die nicht ein EIT EPG zur verfügung stellen) zu schliessen, sind die Infos folgender Kanäle interessant
@chan{"gotv"} = ["gotv-4", "" ,"176" ,"gotv" ,"","gotv"];
@chan{"VIVA Germany"} = ["viva-4", "121", "32", "VIVA", "266", "viva"];
@chan{"NICK"} = ["nick-4", "190", "217", "Nick", "485", "nick"];
@chan{"Eurosport"} = ["eurosport-4", "107", "10", "Eurosport", "65", "eurosport"];
ebenso auch mtv germany, aber dazu ein bisschen später
@chan{"MTV Germany"} = ["mtv_de-4", "109", "46", "MTV", "70", "mtv_de"];
Also, als erstes mal wie oben beschreiben den infosatepg grabber laufen lassen, damit der dump auf der festplatte landet, weiters benötigt ihr noch
- das "helper-script" tvm2xml http://mythtv.linux-dude.de/download/tvm2xml-0.5.tgz (http://mythtv.linux-dude.de/download/tvm2xml-0.5.tgz)
- die perl scripte "helperfunc" und "infosatfetch" aus dem inc ordner des tvmovie2vdr paket http://steckrue.be/tvm2vdr/
(http://steckrue.be/tvm2vdr/)
Die Konfiguration geht recht einfach:
im tvm2xml script:
erstmal in zeile 56 & 57 euren mysqluser & passwort eintragen.
da ich nur den siehferninfo grabber verwende habe ich die anderen fetcher auskommentiert (zeilen 67,68,69,71 & 72)
channels.pl & config.pl erstellen:
die config.pl hab ich um die nicht nötigen funktionen "erleichtert" (könnt ihr mittels copy & Paste übernehmen)
# Settings
$epgfile = "$HOME/epg/epg.xml"; # path to epg-file
$days2download = 6; # max. 8 days tvmovie, max 21-28 days tvinfo
$clearEPG = 0; # clear EPG before inserting them into VDR ?
# 1=true/0=false
$downloadprefix = "$HOME/epg"; # where to write downloaded files?
$updateprefix = "$HOME/epg"; # where to write downloaded updatefiles?
# use a different folder!
$cleanupoldfiles = 0; # clean "old" cache-files ?
# 1=true/0=false
#settings for infosat
our $infosaturl="$HOME/epg";
Die Settings sollten eigentlich sebsterklärend sein:
$epgfile = pfad wohin das infosatfetch script die xml datei hinschreiben soll
$infosaturl = pfad wo der Grabber die epg-daten gespeichert hat.
Jetzt zur channels.pl:
Diese ordnet den kanälen des siehferninfo epg denen der mythdb zu.
@chan{"Eurosport"} = ["eurosport-4", "107", "10", "Eurosport", "65", "eurosport"];
Achtet auf den ersten und sechsten Eintrag nach dem [. Der erste (eurosport-4) ist der im Siehferninfo verwendete kanalname mit der instruktion, den Grabber des tvm2xml scripts zuv erwenden.
Diese Information (eurosport-4) muss man bei der xmtv-id des senders in der mythtv datenbank eintragen. Am einfachsten via mythweb / settings / channels.
Der sechste Eintrag in der channels.pl ist der im Siehferninfo durch den grabber im epg - stream mit dem "@P:eurosport" gekennzeichnete Kanalname.
Bei gotv, viva, nick und eurosport funzt dies wie hier beschrieben. Bei mtv germany heist die kanalbezeichnung leider mtv-germany, also verschluckt sich der importeur, wenn man nicht alle erscheinungen von mtv-germany in den epg daten durch z.B. mtv_de ersetzt (mit tail, oder dem editor eurer wahl)
Jetzt die angepassten dateien
-channels.pl
-config.pl
- tvm2xml
und
- helperfunc
- infosatfetch
in einen ordner packen und aufrufen
$perl tvm2xml.pl
reading channels ..
infosat: reading $HOME/epg/infosat_08_17 ...
infosat: parsing $HOME/epg/infosat_08_17 ...
infosat: reading $HOME/epg/infosat_08_18 ...
infosat: parsing $HOME/epg/infosat_08_18 ...
infosat: reading $HOME/epg/infosat_08_19 ...
infosat: parsing $HOME/epg/infosat_08_19 ...
infosat: reading $HOME/epg/infosat_08_20 ...
infosat: parsing $HOME/epg/infosat_08_20 ...
infosat: reading $HOME/epg/infosat_08_21 ...
infosat: parsing $HOME/epg/infosat_08_21 ...
infosat: reading $HOME/epg/infosat_08_22 ...
infosat: parsing $HOME/epg/infosat_08_22 ...
sorting gotv ...
sorting MTV Germany ...
sorting VIVA Germany ...
sorting NICK ...
sorting Eurosport ...
EPG-Info for gotv: 73
EPG-Info for MTV Germany: 143
EPG-Info for VIVA Germany: 89
EPG-Info for NICK: 357
Malformed UTF-8 character (unexpected end of string) at tvm2xml.pl line 168, <FILE> line 42749.
...
Malformed UTF-8 character (unexpected end of string) at tvm2xml.pl line 168, <FILE> line 42749.
EPG-Info for Eurosport: 109
Die Fehlermeldungen "Malformed UTF-8 character" sind leider ein bekanntes problem des tvm2xml scripts, für das ich noch keine Lösung gefunden habe.
Jetzt wird das wie in der config.pl konfigurierte xml file "epg.xml" erzeugt, das man mit mythfilldatabse importieren kann:
mythfilldatabase --file 1 6 $HOME/epg/epg.xml
der syntax von mythfilldatabe --file option:
--file <sourceid> <offset> <xmlfile>
Bypass the grabbers and read data directly from a file
<sourceid> = number for the video source to use with this file
<offset> = days from today that xmlfile defines
(-1 means to replace all data, up to 10 days)
<xmlfile> = file to read
Wäre schön wenn man dies in einen cronjob verpackt der mal alle 2 Tage den import automatisch durchführt, aber das lass ich mir für ein anderes mal ;)
have fun.
-
genial, toller Job !
Bin schon am basteln ;D
-
danke für die Blumen ;) Sowas mach ich eigentlich am liebsten. an irgendwelchen scripts rumbasteln und immer wieder mal was neues probieren.
Hoffentlich hauts bei dir hin.
-
naja, hinhauen ist übertrieben :o Ich bastel an ner umsetztung für showtime ;D Ist ähnlich aufgebaut aber die scripte brauchen extreme umarbeitung.
kann halt kein astra empfangen ::)
-
kleines update: der umbau für showtime ist erstmal auf eis gelegt, seit neuesten ist der stream verschlüsselt. :(