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

IPTV EPG Script

teorema

Ist gelegentlich hier
Registriert
30. August 2009
Beiträge
83
Reaktionspunkte
26
Punkte
38
Hallo zusammen,

ich habe ein Script gebastelt dass in der IPTV Kanalliste das EPG "einfügt". Nun bin ich aber an meine Grenzen gestoßen und möchte es gerne mit denen teilen die sich auskennen und weiterentwickenl wollen/können.
Um das Script im jetztigen zustand zum laufen zu bringen, ist ein wenig vorarbeit nötig.

1.) Pluigin "CrossEPG" auf die STB installieren und alle EPG's downloaden (oder die die man braucht).
2.) Eine möglichst komplette lamedb mit der vorhandenen ersetzen (z.B. aus den Settings von Vhannibal).
3.) Nun das Script ausführen...

Nun kommen wir zu den Problemen:
1.) Es werden nur Marker erkannt die zwichen "-===" und "===-" stehen. Ist aber mit einer simplen Variable zu lösen.
!!!WICHTIG!!!--->2.) Wenn Sender in der IPTV Liste nicht wie in der lamedb geschrieben sind, dann werden sie nicht erkannt.

Da ich keine Dateien hochladen darf, muss ich das Script in einen Spoiler setzen.
Code:
#!/bin/bash


IPTV_BOUQUET_NAME="userbouquet.IPTV_IpTv.tv" #Namen der Bouquet Datei einsetzen
ZEILENDATEI=`sed $= -n /etc/enigma2/${IPTV_BOUQUET_NAME}` #Anzahl der Zeilen in Bouquet
ZEILENDATEIB=`sed $= -n /etc/enigma2/lamedb` #Anzahl der Zeilen in lamedb
LINECOUNT=1 #Zeile zum lesen im Bouquet auf 1 setzen
MARKER=0 #Markercounter
sed -i 's/\r//g' /etc/enigma2/${IPTV_BOUQUET_NAME}

for MARKER_LINE in `grep -n '#DESCRIPTION [^A-Za-z0-9].*[A-Za-z0-9].*[^A-Za-z0-9].*' /etc/enigma2/${IPTV_BOUQUET_NAME} | cut -d : -f 1`; do
    FUND_BOUQUET=`sed -n "${MARKER_LINE}p" /etc/enigma2/${IPTV_BOUQUET_NAME} | sed s'/#DESCRIPTION *//g'` #Markername
    echo -e "Marker gefunden: \033[1;32m ${FUND_BOUQUET} \033[0m"
    FUNDZEILEBOUQUET=`expr ${MARKER_LINE} - 1` #Auf Zeile mit Senderdaten setzen in Bouquet
    BOUQUETDATEN=`cat /etc/enigma2/${IPTV_BOUQUET_NAME} | sed -n "${FUNDZEILEBOUQUET}"p`
    echo ${BOUQUETDATEN} | sed -i "${FUNDZEILEBOUQUET}s/ '.*:.*:.*:.*:.*:.*:.*:.*:.*:.*:'/ 1:64:${MARKER}:0:0:0:0:0:0:0:/g" /etc/enigma2/${IPTV_BOUQUET_NAME}
    MARKER=`expr ${MARKER} + 1`
done

echo ""
echo "Marker umgewandelt."
echo ""

for KANAL_LINE in `grep -n '#DESCRIPTION [A-Za-z].*' /etc/enigma2/${IPTV_BOUQUET_NAME} | cut -d : -f 1`; do
    KANAL=`sed -n "${KANAL_LINE}p" /etc/enigma2/${IPTV_BOUQUET_NAME} | sed s'/#DESCRIPTION *//g'` #Sendername rauslesen
    FUND_LAMEDB=`grep -nm 1 "^${KANAL}$" /etc/enigma2/lamedb | sed 's/\:.*//g'` #Sendername in lamedb suchen

        if [ "$FUND_LAMEDB" != "" ]; then #Wenn gefunden...
            echo -e "Kanal gefunden \033[1;32m ${KANAL} \033[0m" 
            FUNDZEILEBOUQUET=`expr ${KANAL_LINE} - 1` #Auf Zeile mit Senderdaten setzen in Bouquet
            BOUQUETDATEN=`cat /etc/enigma2/${IPTV_BOUQUET_NAME} | sed -n "${FUNDZEILEBOUQUET}"p`
            FUNDZEILELAMEDB=`expr ${FUND_LAMEDB} - 1` #Auf Zeile mit Senderdaten setzen in lamedb
            LAMEDBLINE=`cat /etc/enigma2/lamedb | sed -n "${FUNDZEILELAMEDB}"p` #Daten aus lamedb lesen und splitten
            STK1=`echo $LAMEDBLINE | cut -d\: -f1 | sed 's/^0*//g'`
            STK2=`echo $LAMEDBLINE | cut -d\: -f2 | sed 's/^0*//g'`
            STK3=`echo $LAMEDBLINE | cut -d\: -f3 | sed 's/^0*//g'`
            STK4=`echo $LAMEDBLINE | cut -d\: -f4 | sed 's/^0*//g'`
            STK5=`echo $LAMEDBLINE | cut -d\: -f5 | sed 's/^0*//g'`
            STK51=`printf '%x\n' $STK5` #In HEX umwandeln
             
            RAS=`echo " 1:0:$STK51:$STK1:$STK3:$STK4:$STK2:0:0:0:"` #Splits ordnen
            SUBZEILE=`echo $BOUQUETDATEN | sed -i "${FUNDZEILEBOUQUET}s/ '.*:.*:.*:.*:.*:.*:.*:.*:.*:.*:'/${RAS}/g" /etc/enigma2/${IPTV_BOUQUET_NAME}` #In Bouquet schreiben
        else
            echo -e "Kanal feht \033[1;31m ${KANAL} \033[0m"
        fi
done

wget -qO - "http://127.0.0.1/web/servicelistreload?mode=2" >> /dev/null 2>&1
echo "Fertig"

Über feedback würde ich mich freuen.
Ein Danke tut nicht weh.
 
Zuletzt bearbeitet:
AW: IPTV EPG Script

Weil es nicht das erste mal wäre, dass ein Script von mir kopiert wird und ich in der "weiter Entwicklung" nicht zumindest mal erwähnt wurde. Sollte fairerweise drin sein nach dem ich mir die Mühe gemacht habe.
 
AW: IPTV EPG Script

Ja, das wäre fair. Ich sag dennoch: "Vielen Dank für deine Mühen."
 
AW: IPTV EPG Script

Danke, ist nett von dir, auch wenn du rein garnichts dafür kannst. Habe gerade nachgeschaut und bemerkt dass ich keine Dateien hochladen kann/darf. Habe es aus diesem Grund in einen Spoiler gesetzt.
Seid fair und nennt beim kopieren des Scripts die herfunkt.
 
Zuletzt bearbeitet:
AW: IPTV EPG Script

Kann mir denn keiner mit Problem 2 helfen?
Problem 1 habe ich selber gelöst.
 
AW: IPTV EPG Script

Auch wenn ich dir nicht helfen kann drücke ich die Daumen das du bald eine Lösung hast. Ich bin auch auf der Suche nach sowas.
Eventuell könnte dir gutemine vom ooZooN helfen :-)

Dai che c'e' la fai, di che c'e' la fai :-)
 
AW: IPTV EPG Script

ich suche auch verzweifelt eine Lösung um bei IPTV einen EPG Liste zu bekommen was funktioniert ist das Plugin Import allerdings nur Italienische sender Deutsche gehen zum verzweifeln nicht.
hat jemand eine Lösung ???
 
AW: IPTV EPG Script

Hallo teorema
Danke für dein Script funktioniert soweit Sender werden erkannt und umgeschrieben ,leider löscht es mir aber die url des senders raus .
Habe verschiedene Szenarien durchprobiert um das zu verhindern leider stosse ich an meine Grenzen da ich keine Ahnung habe vom Scripten/Programmieren von bash habe
darum bitte ich Dich mir zu helfen, damit mir in -f11 die url nicht gelöscht wird hier ein beispiel
Code:
#SERVICE 4097:0:1:146:0:0:0:0:0:0:http%3a//127.0.0.1%3a4050/udp/239.186.68.10%3a10000:ZDF HD
#DESCRIPTION ZDF HD
nach dem script fehlt dann die 0:http%
Code:
#SERVICE 4097:0:19:2b66:3f3:1:c00000:0:0:0:1:ZDF HD
#DESCRIPTION ZDF HD
Wäre klasse wenn Du oder ein Moderator der sich auskennt mal prüfen kann ob das möglich wäre ?
Danke und schöne Festtage
 
AW: IPTV EPG Script

Hallo Dagobe,

der fehler mit dem "alten" Script ist entstanden durch:

Code:
#SERVICE 4097:0:1:146:0:0:0:0:0:0:http%3a//127.0.0.1%3a4050/udp/239.186.68.10%3a10000[COLOR=#ff0000]:ZDF HD[/COLOR]

Ich habe den Fehler aber behoben und das Script sollte nun normal laufen. Der Fehler im Script waren die fehlenden ( ' ):
Code:
SUBZEILE=`echo $BOUQUETDATEN | sed -i "${FUNDZEILEBOUQUET}s/ [COLOR=#ff0000]'[/COLOR].*:.*:.*:.*:.*:.*:.*:.*:.*:.*:[COLOR=#ff0000]'[/COLOR]/${RAS}/g" /etc/enigma2/${IPTV_BOUQUET_NAME}` #In Bouquet schreiben

Grüße Teorema
 
AW: IPTV EPG Script

Hallo danke für deine Mühe bin am Testen leider übernimmt es mir jetzt die svid nicht mehr sprich die STK 1-5 ?
muss nicht noch ein .*: oder sowas rein da ich ja zusätzlich noch dir url dran habe ?
 
AW: IPTV EPG Script

Ich kann keinen Fehler entdecken. Bei mir läuft es normal durch.
Poste doch bitte mal eine Zeile die betroffen ist.
 
AW: IPTV EPG Script

Hallo habe jetzt noch mal probiert und den Namen hinten rausgelöscht und siehe da es funktioniert muss ich das jetzt bei jedem Sender machen od gibts noch eine Möglichkeit das ins Script zu integrieren ?
Code:
#SERVICE 4097:0:1:146:0:0:0:0:0:0:http%3a//127.0.0.1%3a4050/udp/239.186.68.10%3a10000

Danke für deine Hilfe
 
Wenn du die ' eingefügt hast, sollte es eigentlich normal funktionieren. Aber ich überarbeite mal den Code.

@nino15000 klar darfst du das...

Ich habe das Script leicht geendert. Sollte nun schneller laufen. lasst mich doch bitte wissen ob der Fehler immernoch auftritt.

Grüße Teorema
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben