Salut tout le monde,
je cherche un moyen d'automatiser la modification des SID présent dans un fichier "userbouquet.IPTV_IpTv.tv" afin que les chaines soit reconnues par EPG import,
Exemple modifier cette ligne
par ça
et là l'EPG fonctionne sauf que d’après d'apres ce que j'ai compris il faut le faire manuellement sur chaque chaines vu le nombre de chaines c'est vite décourageant
Puis j'ai trouvé sur un forum allemand un script réalisé par "teorema" qui semble remplir cette fonction sauf que moi et l'allemand ça fais déjà 2 et si j'ajoute en plus le bash ça fais 3
si j'ai bien compris il utilise le fichier userbouquet-iptv.tv puis dois aller récuperer les SID dans le fichier lamedb pour les réécrire dans le fichier userbouquet-iptv.tv
le script se lance bien il me reconnait quelque chaines puisqu'il les met bien en vert par contre il ne modifie pas les SID sur le fichier userbouquet.IPTV_IpTv.tv
Voilà donc j'ai besoin de vos lumières pour interpréter ce script merci d'avance pour votre aide
je cherche un moyen d'automatiser la modification des SID présent dans un fichier "userbouquet.IPTV_IpTv.tv" afin que les chaines soit reconnues par EPG import,
Exemple modifier cette ligne
Code:
#DESCRIPTION TF1 HD
#SERVICE 4097:0:1:0:0:0:0:0:0:0:http%3a//host.XXXX.com%3a10000/live/Host1userxxxxx.ts:TF1
par ça
Code:
#DESCRIPTION TF1 HD
#SERVICE 4097:0:19:2329:442:1:C00000:0:0:0:http%3a//host.XXXX.com%3a10000/live/Host1userxxxxx.ts:TF1
et là l'EPG fonctionne sauf que d’après d'apres ce que j'ai compris il faut le faire manuellement sur chaque chaines vu le nombre de chaines c'est vite décourageant
Puis j'ai trouvé sur un forum allemand un script réalisé par "teorema" qui semble remplir cette fonction sauf que moi et l'allemand ça fais déjà 2 et si j'ajoute en plus le bash ça fais 3
si j'ai bien compris il utilise le fichier userbouquet-iptv.tv puis dois aller récuperer les SID dans le fichier lamedb pour les réécrire dans le fichier userbouquet-iptv.tv
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"
le script se lance bien il me reconnait quelque chaines puisqu'il les met bien en vert par contre il ne modifie pas les SID sur le fichier userbouquet.IPTV_IpTv.tv
Voilà donc j'ai besoin de vos lumières pour interpréter ce script merci d'avance pour votre aide