Quantcast
Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Raspberry +TVheadend Server + tv_grab_dvb - 15/01/2013 - Ver 0.11 Released

flashi666

Ist gelegentlich hier
Registriert
12. Januar 2012
Beiträge
65
Reaktionspunkte
13
Punkte
8
HI Leute,

da ich Langeweile habe habe ich mal versucht EPG zu Graben. Das geht soweit gut. Das einzige wo ich Probleme habe, ich muss erst manuell durch Zappen bevor ich das "grab_epg_dvb-c.sh" ausführen kann da er sonst so wenig Epg Daten in die XML schreibt. Gibt es eine Möglichkeit das ich über ein Script Autozappen kann bevor das Epg in die XML geschrieben wird?

Ich nutzte dazu tv_grab_dvb - 15/01/2013 - Ver 0.11 Released von hier .

Hardware 1 : Raspberry
Hardware 2 : DVB-Stick.

Software 1 : Raspbian Stretch Lite
Software 2 : TVheadend Server
Software 3 : w_scan
Software 4 : dvbsnoop
Software 5 : tv_grab_dvb - 15/01/2013 - Ver 0.11 Released

Ich habe dazu 2 Scripte erstellt. In den 1 Script wird die chanidents für den tv_grab_dvb erstellt. Als zweites wird eine channels.conf für tv_grab_dvb erstellt. Das dauert bis die 2 Dateien erstellt sind. Das Script wird aber nur einmal ausgeführt.

#!/bin/bash
# Erstellt bei Mario Senska
# Date: 07.02.2018
# Time: 03:09
#############EDIT#############
Graber=/home/pi/tv_grab_dvb/
#############EDIT#############
rm -f $Graber/chanidents
rm -f $Graber/channels.conf
systemctl stop tvheadend.service
w_scan -f c -c DE -M > $Graber/channels.conf
paste <(cat $Graber/channels.conf | rev | cut -d ':' -f 1 | rev) <(cut -d ':' -f 1 $Graber/channels.conf | tr -s ' ' '_') > $Graber/chanidents
rm -f $Graber/channels.conf
w_scan -f c -c DE -G > $Graber/channels.conf
systemctl start tvheadend.service

Beim den 2 Script werden Epg Daten gesammelt und in eine XML geschrieben. Das kann man dann über Cron 1 mal an Tag ausführen lassen.

Voraussetzung ist dafür das man Manuel durch-zappen muss. Das würde ich gerne über ein Script machen aber leider finde ich dafür kein passendes App für.

#!/bin/bash
# Erstellt bei Mario Senska
# Date: 07.02.2018
# Time: 03:09
#############EDIT#############
XML_Name=Guide_DE
Graber=/home/pi/tv_grab_dvb/
#############EDIT#############
rm -f /tmp/$XML_Name.bin
rm -f /tmp/$XML_Name.xml
dvbsnoop -demux /dev/dvb/adapter0/demux0 -s sec 18 -b -n 20000 > /tmp/$XML_Name.bin
cd $Graber
./tv_grab_dvb -d -c -e ISO-8859-5 -i /tmp/$XML_Name.bin -f /tmp/$XML_Name.xml

EPG XML Beispiel für Sat.1:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tv SYSTEM "xmltv.dtd">
<tv generator-info-name="dvb-epg-gen">
<channel id="SAT.1">
    <display-name>SAT.1;ProSiebenSat.1</display-name>
</channel>
<programme channel="SAT.1" start="20180209185736 +0100" stop="20180209195527 +0100">
    <title lang="DEU">Die Ruhrpottwache</title>
    <sub-title lang="DEU">Real Life Doku, D 2017</sub-title>
    <desc lang="DEU">Als sich die Streifenpolizisten an einem Kiosk einen Kaffee holen wollen, kommt ein Mann mit einem Baseballschläger in der Hand aus dem Kiosk gerannt. Er steigt auf sein Motorrad und rast davon. - Zwei Frauen kommen auf einer Rikscha auf den Wacheparkplatz. Beide Frauen sind mit Kabelbindern gefesselt, wobei eine Frau verletzt in der Rikscha liegt. - Die Streifenbeamten machen sich auf den Weg zu einem Schrottplatz -  eine Frau vermisst ihren Enkel vermisst.</desc>
    <language>DEU</language>
    <video>
        <aspect>16:9</aspect>
    </video>
    <audio>
        <stereo>stereo</stereo>
    </audio>
</programme>
</tv>

chanidents Beispiel für Sat.1:
Code:
17500    SAT.1

channels.conf Beispiel für Sat.1:
Code:
SAT.1;ProSiebenSat.1:394000:M256:C:6900:255=2:256=deu@3;259:32:0:17500:1:1107:0:96

EDIT

Ich habe mal das Script create_channel.conf_chanidents.sh verbessert. Jetzt wird nur 1 mal ein Scan durchgeführt um die Dateien channels.conf und chanidents erstellt.

#!/bin/bash
# Erstellt bei Mario Senska
# Date: 08.02.2018
# Time: 14:53
# -G, --output-dvbsrc (generate channels.conf for dvbsrc plugin)
#############EDIT#############
Graber=/home/pi/tv_grab_dvb/
#############EDIT#############
rm -f $Graber/chanidents
rm -f $Graber/channels.conf
systemctl stop tvheadend.service
w_scan -f c -c DE -G > $Graber/channels.conf
#paste <(cat $Graber/channels.conf | rev | cut -d ':' -f 5 | rev) <(cut -d ':' -f 1 $Graber/channels.conf | tr -s ' ' '_') > $Graber/chanidents
paste <(cat $Graber/channels.conf | rev | cut -d ':' -f 5 | rev) <(cut -d ';' -f 1 $Graber/channels.conf | tr -s ' ' '_') > $Graber/chanidents
systemctl start tvheadend.service

EDIT

Man kann diese Aktivieren

paste <(cat $Graber/channels.conf | rev | cut -d ':' -f 5 | rev) <(cut -d ':' -f 1 $Graber/channels.conf | tr -s ' ' '_') > $Graber/chanidents

Dann sieht das Format in der chanidents so aus: 17500 SAT.1;ProSiebenSat.1

oder das

paste <(cat $Graber/channels.conf | rev | cut -d ':' -f 5 | rev) <(cut -d ';' -f 1 $Graber/channels.conf | tr -s ' ' '_') > $Graber/chanidents

Dann sieht das Format in der chanidents so aus: 17500 SAT.1
 
Zuletzt bearbeitet:
Zurück
Oben