Powered by Invision Power Board


  
 
Reply to this topicStart new topicStart Poll

> Verwaiste Kanäle finden und entfernen, cleanchannels.sh - Kanalliste aufräumen
MegaV0lt
  Geschrieben am: Montag, 05.November 2012, 16:51 Uhr
Quote Post


Professional
****

Gruppe: G2V3+User
Beiträge: 889
Mitgliedsnummer.: 544
Mitglied seit: 2005-06-01



Am Wochenende hatte ich Langeweile und mich an ein Skript gesetzt. Ziel ist es die Kanalliste halbwegs von verwaisten Kanälen zu befreien. Das Skript sollte ca. alle drei bis vier Wochen laufen. Idealerweise kurz vor dem VDR-Start. Das Skript selbst braucht für das Prüfen weniger als eine Sekunde bei 2.500 Kanälen. Die Ausgabe beim ersten Lauf sieht in etwa so aus:

QUOTE
hdvdr01 ~ # /usr/local/sbin/cleanchannels.sh 0
cleanchannels: Erster/Erzwungener Start des Skript's
cleanchannels: VDR läuft! Neue Kanalliste: /etc/vdr/channels.conf.new
cleanchannels: 21 Marker gefunden
cleanchannels: 967 Kanäle wurden nach /etc/vdr/channels.conf.removed verschoben
cleanchannels: 1561 Kanäle wurden neu markiert


Die Funktionsweise ist relativ Simpel:

  • Kanalliste sichern
  • Nach $OLDMARKER ("-OLD-") suchen (In der gesicherten Datei)
  • Wenn der Marker drin ist, dann den Kanal in die *.removed-Datei schreiben
  • Wenn kein Marker, dann den Kanal neu Markieren und in die *.new Datei schreiben
  • Wenn der VDR nicht läuft die Kanalliste aktivieren


Ablauf:
Beim ersten Start werden alle Kanäle markiert.
VDR benennt in der Zeit bis zum nächsten Skriptstart alle Kanäle wieder um.
Beim nächsten Start (25 Tage später) wird nach Markern gesucht und entsprechend aussortiert.
Die anderen Kanäle werden wieder markiert.

Das Skript prüft anhand des Datums der *.new, wann es zuletzt gelaufen ist.
Zum Start vor VDR habe ich eine 8800_cleanchannels in /etc/vdr.d angelegt. Logausgaben erfolgen via logger im Syslog. Es werden die Dateien erstellt: channels.conf.bak, channels.conf.new, channels.conf.removed

Ich lege den Marker im Provider des Kanals an. Dadurch bleibt im normalen Betrieb alles wie gehabt. Als Beispiel mal ein Kanal mit (direkt nach Skriptstart) und ohne Marker (Wieder zurück umbenannt):
QUOTE
RTL II HD Austria;-OLD-CBC:11082:HC34M5O20S1:S19.2E:22000:400=27:0;410=deu@106:420:648,9C4,98C:11941:1:1041:0
RTL II HD Austria;CBC:11082:HC34M5O20S1:S19.2E:22000:400=27:0;410=deu@106:420:648,9C4,98C:11941:1:1041:0


Nach dem zweiten lauf (mit ein paar Tagen Pause!) hat man dann eine wesentlich aktuellere channels.conf
Die Option EPG aktualisieren sollte eingeschaltet sein, damit der VDR im Hintergrund alle Transponder durchzappt!
Funktioniert am besten mit mind. zwei Tunern.

Ich habe hier mal alles zum Testen hinterlegt: http://db.tt/V81VfkIa Aktualisiert August 2013
- Hinweis für Systeme mit 1 Tunner (100 Tage)
- Check auf "EPGScanTimeout" und "UpdateChannels" eingebaut
Da ist das Skript (-> /usr/local/sbin) und die 8000_cleanchannels (-> /etc/vdr.d) drin.
Im Skript sind viele Kommentare enthalten, die meinen Gedankengang erklären sollen.

Es gilt natürlich der Gefahrenhinweis, dass Fehler enthalten sein können und die Nutzung auf eigene Gefahr erfolgt. Läuft auch unter V4.

Ich hoffe es ist für den ein oder anderen nützlich. Hier kann man das Skript einzeln Laden: https://dl.dropboxusercontent.com/u/1490505...leanchannels.sh
Email PosterUsers WebsiteICQ
Top
R2D2
Geschrieben am: Montag, 05.November 2012, 18:39 Uhr
Quote Post


Prinz
****

Gruppe: Moderators
Beiträge: 6149
Mitgliedsnummer.: 1131
Mitglied seit: 2005-10-30



Um ganz ehrlich zu sein, erschliest sich mir nicht, wie das funktionieren soll?? :blink:

Woher kommt die Info, dass ein Kanal "-OLD-" ist, ohne die Känale jemals durchgeschaltet zu haben??
Email PosterUsers WebsiteICQ
Top
ee
Geschrieben am: Montag, 05.November 2012, 19:39 Uhr
Quote Post


Prinz
****

Gruppe: Supporter
Beiträge: 1119
Mitgliedsnummer.: 1340
Mitglied seit: 2006-05-22



QUOTE (R2D2 @ Montag, 05.November 2012, 18:39 Uhr)
Um ganz ehrlich zu sein, erschliest sich mir nicht, wie das funktionieren soll?? :blink:

Woher kommt die Info, dass ein Kanal "-OLD-" ist, ohne die Känale jemals durchgeschaltet zu haben??

Genau das frage ich mich auch.

Gruß
ee
Email PosterICQ
Top
R2D2
Geschrieben am: Montag, 05.November 2012, 19:55 Uhr
Quote Post


Prinz
****

Gruppe: Moderators
Beiträge: 6149
Mitgliedsnummer.: 1131
Mitglied seit: 2005-10-30



Ich habe vor ein paar Monaten mal ein kleines Script gebastelt, mit dem ich hin und wieder meine Kanalliste aufräume.

http://www.vdr-portal.de/board16-video-dis...en/#post1071772
Email PosterUsers WebsiteICQ
Top
MegaV0lt
  Geschrieben am: Dienstag, 06.November 2012, 07:50 Uhr
Quote Post


Professional
****

Gruppe: G2V3+User
Beiträge: 889
Mitgliedsnummer.: 544
Mitglied seit: 2005-06-01



Noch mal ganz eiunfach:

Skript startet und markiert alle Kanäle.

...25 Tage später... (oder auch 10; Hauptsache der VDR hatte genug Zeit die Liste "nebenbei" zu aktualisieren)

Skript schaut, ob noch markierte Kanäle in der Liste sind und entfernt sie.
Die restlichen werdden wieder (neu) markiert!

Also hat man ab dem 2. Lauf eine aufgeräumte Liste.



Ich hoffe, das ist einfach genug formuliert!
Email PosterUsers WebsiteICQ
Top
R2D2
Geschrieben am: Dienstag, 06.November 2012, 08:31 Uhr
Quote Post


Prinz
****

Gruppe: Moderators
Beiträge: 6149
Mitgliedsnummer.: 1131
Mitglied seit: 2005-10-30



Nette Idee, schade nur, dass sie so nicht funktioniert.
Email PosterUsers WebsiteICQ
Top
MegaV0lt
Geschrieben am: Dienstag, 06.November 2012, 08:48 Uhr
Quote Post


Professional
****

Gruppe: G2V3+User
Beiträge: 889
Mitgliedsnummer.: 544
Mitglied seit: 2005-06-01



Nette Behauptung. Kannst Du das genauer begründen?
Email PosterUsers WebsiteICQ
Top
R2D2
Geschrieben am: Dienstag, 06.November 2012, 09:07 Uhr
Quote Post


Prinz
****

Gruppe: Moderators
Beiträge: 6149
Mitgliedsnummer.: 1131
Mitglied seit: 2005-10-30



QUOTE (MegaV0lt @ Dienstag, 06.November 2012, 09:48 Uhr)
Nette Behauptung. Kannst Du das genauer begründen?

Natürlich kann ich das. :)

QUOTE
[...] Skript startet und markiert alle Kanäle.

...25 Tage später... (oder auch 10; Hauptsache der VDR hatte genug Zeit die Liste "nebenbei" zu aktualisieren) ...


Es ist völlig egal, wieviel Zeit der VDR hat, von alleine aktualisiert der VDR "nebenbei" nur die Kanäle, die auf dem selben Transponder liegen, auf den geschaltet wurde.

Anders gesagt, wird in der Frist von z.B. 25 Tagen ein bestimmter Transponder nicht eingeschaltet, werden alle Programme die auf diesem Transponder liegen komplett entfernt.
Des weiteren werden bei Deiner Methode auch alle Kanäle entfernt, die den Namen geändert haben, was dazu führt, dass z.B. auch alle Feed-Kanäle von Sky gelöscht werden.

Falls das so gewollt ist, dann funktioniert Dein Script. ;)

Bei meiner Methode werden alle Kanäle durchgeschaltet und die, die nicht empfangbar sind, fliegen raus. Außerdem werden dabei gleich die Namen aktualisiert.

Aber mal ganz abgesehen davon, möchte ich keine modifizierte channels.conf im "Normalbetrieb" haben, aber das muss Jeder für sich selbst entscheiden.
Email PosterUsers WebsiteICQ
Top
MegaV0lt
Geschrieben am: Dienstag, 06.November 2012, 09:43 Uhr
Quote Post


Professional
****

Gruppe: G2V3+User
Beiträge: 889
Mitgliedsnummer.: 544
Mitglied seit: 2005-06-01



QUOTE
Es ist völlig egal, wieviel Zeit der VDR hat, von alleine aktualisiert der VDR "nebenbei" nur die Kanäle, die auf dem selben Transponder liegen, auf den geschaltet wurde.
Die Option EPG aktualisieren sollte natürlich an sein. Dann scannt der VDR ja im Betrieb die Transponder durch! Und ich gehe davon aus, dass ALLE Transponder gecheckt werden. Ich schreibe das noch oben dazu!
QUOTE
Des weiteren werden bei Deiner Methode auch alle Kanäle entfernt, die den Namen geändert haben, was dazu führt, dass z.B. auch alle Feed-Kanäle von Sky gelöscht werden.
Nein, wenn der Name geändert wird, dann verschwindet auch die Markierung. Die Sky-Feeds werden auch umbenannt. Sie werden also nicht entfernt!
QUOTE
Aber mal ganz abgesehen davon, möchte ich keine modifizierte channels.conf im "Normalbetrieb" haben, aber das muss Jeder für sich selbst entscheiden.
Berechtigter Einwand. Dafür muss ich aber mit der Variante nicht alle Kanäle durchzappen lassen. Außerdem ist das alles noch im Versuchsstadium.

Übrigens hat der VDR bei mir schon nach wenigen Minuten alle 1500 Kanäle aktualisiert.
Email PosterUsers WebsiteICQ
Top
R2D2
Geschrieben am: Dienstag, 06.November 2012, 09:52 Uhr
Quote Post


Prinz
****

Gruppe: Moderators
Beiträge: 6149
Mitgliedsnummer.: 1131
Mitglied seit: 2005-10-30



QUOTE (MegaV0lt @ Dienstag, 06.November 2012, 10:43 Uhr)
[...] Die Option EPG aktualisieren sollte natürlich an sein. Dann scannt der VDR ja im Betrieb die Transponder durch! ....

Was aber wiederum nur dann funktioniert, wenn mehr als eine DVB-Karte vorhanden ist, oder der VDR zum EPG-Scan in der Nacht aufgeweckt wird.
Und wenn er aufgeweckt wird, dann kann ich auch gleich mein Script nehmen, denn dann brauche ich keine 25 Tage zu warten. ;)
Email PosterUsers WebsiteICQ
Top
ee
Geschrieben am: Dienstag, 06.November 2012, 12:50 Uhr
Quote Post


Prinz
****

Gruppe: Supporter
Beiträge: 1119
Mitgliedsnummer.: 1340
Mitglied seit: 2006-05-22



Das ist genau der Knackpunkt. Das Script funktioniert nur wenn man mindestens 2 Tuner hat und das System richtig konfiguriert hat.

Netter Ansatz, aber für mich ist das zu gefährlich.

Gruß
ee
Email PosterICQ
Top
Sedikit
Geschrieben am: Mittwoch, 07.November 2012, 13:06 Uhr
Quote Post


Advanced Member
***

Gruppe: Members
Beiträge: 18
Mitgliedsnummer.: 11854
Mitglied seit: 2009-11-19



QUOTE (ee @ Dienstag, 06.November 2012, 12:50 Uhr)
Netter Ansatz, aber für mich ist das zu gefährlich.

Also, als gefährlich wurde ich ganz andere Sachen einstufen.;-)

Viele Grüße
(;-)laf
Email Poster
Top
R2D2
Geschrieben am: Mittwoch, 07.November 2012, 17:50 Uhr
Quote Post


Prinz
****

Gruppe: Moderators
Beiträge: 6149
Mitgliedsnummer.: 1131
Mitglied seit: 2005-10-30



QUOTE (Sedikit @ Mittwoch, 07.November 2012, 14:06 Uhr)
QUOTE (ee @ Dienstag, 06.November 2012, 12:50 Uhr)
Netter Ansatz, aber für mich ist das zu gefährlich.

Also, als gefährlich wurde ich ganz andere Sachen einstufen.;-)

Viele Grüße
(;-)laf

Deshalb schrieb ee ja auch:

QUOTE
[...] aber für mich ist das zu gefährlich
Email PosterUsers WebsiteICQ
Top
Watz
  Geschrieben am: Donnerstag, 15.November 2012, 17:09 Uhr
Quote Post


Professional
****

Gruppe: Supporter
Beiträge: 562
Mitgliedsnummer.: 239
Mitglied seit: 2003-12-08



... schöner Ansatz für die Lösung. Mir gefällt Deine Sicht auf die Dinge und die Art der Lösung.
Das ein neuer Lösungsansatz Verbesserungspotenzial hat ist doch jedem klar.
Meine Probleme liegen nicht an den toten Kanälen, sondern die Sortierung von gut und schlecht ....
Auch das PayTV geht mir immer wieder auf den Geist.
Email PosterUsers Website
Top
R2D2
Geschrieben am: Donnerstag, 15.November 2012, 17:50 Uhr
Quote Post


Prinz
****

Gruppe: Moderators
Beiträge: 6149
Mitgliedsnummer.: 1131
Mitglied seit: 2005-10-30



QUOTE (Watz @ Donnerstag, 15.November 2012, 18:09 Uhr)
[...] Meine Probleme liegen nicht an den toten Kanälen, sondern die Sortierung von gut und schlecht ....
Auch das PayTV geht mir immer wieder auf den Geist.

Nun, PayTV Kanäle zu entfernen ist recht simpel, dazu reicht ein einzeiliger Bash Befehl.
Bei der Sortierung von "gut und schlecht" wird es schon komplizierter, denn woher soll der VDR wissen, was Deiner Meinung nach "gut" oder "schlecht" ist?
Email PosterUsers WebsiteICQ
Top
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 Anonyme Benutzer)
0 Mitglieder:

Topic Options Reply to this topicStart new topicStart Poll