_______ _______ _ _ _______ _______ _ _
|______ |_____| \ / |______ | \ /
______| | | \/ |______ . | \/
===============================================
____ C_a_t_c_h_A_l_l___e_i_n_r_i_c_h_t_e_n ____
- Hintergrund
- Funktionsweise
- Einrichten und Starten
- Username und Passwort
- Sender von der automatischen Aufnahme ausschließen
- Angelegte Channels behalten
auto
,immer
,nie
- Aufbau der Channeltitel
- Hinweis zum Ende des kostenlosen XXL Upgrades zum 26.05.2020
- Tip: Channels "korrigieren"
- Besonderheit beim Basis Paket
- Versionsüberprüfung
- Funktionstest
- Ausführungsstatus kontrollieren
- Fehlerausgabe
- Servicehinweis: Save.TV Aufnahme-Optionen prüfen
- Tip für Mac-User
- Hinweis zur Verwendung unter Termux
- Beispielausgabe CatchAll Programmierung
- Bereinigungsfunktionen
- Installation auf einem Raspberry Pi mit täglicher Ausführung
- Hilfefunktion
SaveTV bietet keine CatchAll Funktion bei der automatisch alle Sendungen aller verfügbaren Sender aufgenommen werden.
Zur Aufnahmeprogrammierung können je nach gebuchtem Paket eine unterschiedliche Anzahl an Channels (5 Basis, 20 XL, 200 XXL) verwendet werden.
Über die Erweiterten Einstellungen kann ein Channel für einen Sender und einen Zeitslot (0-6 Uhr, 6-12 Uhr, 12-18 Uhr, 18-24 Uhr) programmiert werden.
Während sich mit den 200 Channels des XXL-Pakets die Catchall Funktion durch Programmierung von vier Zeitslots für die 46 SaveTV Sender (4 x 46 = 184 Channels) mit etwas Anlegefleiß nachbilden läßt, bieten das Basis-Paket mit 5 Channels und des XL Paket mit 20 Channels nicht genug Channels um alle Slots für alle Sender zu programmieren.
Die Grundidee von SaveTV Catchall basiert auf den unterschiedlichen Optionen, die beim Channellöschen angeboten werden
Da bei der ersten Option die Programmierungen erhalten bleiben, kann man nach der Anlage der Programmierung den Channel wieder löschen und einen anderen Zeitslot / Sender mit dem gleichen Channel programmieren.
STV CatchAll benötigt vier Channels (für die vier Zeitslots eines Senders) um darüber für alle Sender eine Programmierung anzulegen.
Eventuell im Account bereits enthaltene manuell vorgenommene Channelprogrammierungen bleiben erhalten. Sollten weniger als vier freie Channels vorhanden sein, wird das Skript mit einem entsprechenden Hinweis abgebrochen.
Direkt nach Anlage der vier Zeitslotchannels eines Senders werden diese wieder gelöscht, wobei die Programmierungen erhalten bleiben (s.o.). Dadurch können die gleichen Channels für den nächsten Sender wiederverwendet werden.
Je Sender erfolgen 9 save.tv Zugriffe, wodurch das Skript relativ langsam läuft
- 4 x Senderzeitslotchannel anlegen (0-6 Uhr, 6-12 Uhr, 12-18 Uhr, 18-24 Uhr)
- 1 x Aufruf Channelübersicht, um die ChannelIDs der angelegten Channels abzufragen
- 4 x Senderzeitslotchannel löschen
Der Nachteil dieses Verfahren besteht allerdings darin, daß die Programmierung der Aufnahmen nur ca. sieben Tage in die Zukunft reicht, so daß das Skript regelmäßig ausgeführt werden muß, um die neu hinzugekommenen Sendungen und eventuelle Programmänderungen zu programmieren. SaveTV aktualisiert sein Angebot einmal täglich gegen 4:30 Uhr, so daß das Skript kurz danach laufen sollte, um alle Änderungen zeitnah zu berücksichtigen.
Siehe auch Installation auf einem Raspberry Pi mit täglicher Ausführung
Auf einem Raspberry Pi Zero W benötigt das Skript je nach der aktuellen Auslastung des SaveTV Servers etwa 18 Sekunden für die vier Channels eines Senders, bei mir um die 10 bis 11 Minuten für 36 aufzunehmende Sender.
Die Accountdaten, der Save.TV Username und das Passwort, werden beim Skriptstart abgefragt und auf Wunsch für eine automatische Skriptausführung gespeichert.
./stvcatchall.sh
[i] Keine gespeicherten Logindaten vorhanden, bitte manuell eingeben
Save.TV Username: 612612
Save.TV Passwort: R2D2C3PO
[✓] Login bei SaveTV als User 612612 war erfolgreich!
Nach der Eingabe von Username und Passwort loggt sich das Skript mit diesen Daten bei Save.TV ein, sind die eingegeben Daten nicht korrekt, kann die Eingabe direkt wiederholt werden.
[-] Login mit diesen Userdaten nicht möglich
Username und Passwort prüfen und Eingabe wiederholen
[i] Keine gespeicherten Logindaten vorhanden, bitte manuell eingeben
Save.TV Username:
Nur wenn die Daten korrekt sind, wird ein Abspeichern für das automatische Login angeboten.
Die Zugangsdaten können zum automatischen Login gespeichert werden
Zugangsdaten speichern? (J/N)? :
[i] Zugangsdaten wurden in 'stv_autologin' gespeichert
Ist die Datei stv_autologin
vorhanden erfolgt das Login automatisch.
./stvcatchall.sh
[✓] Login bei SaveTV als User 612612 war erfolgreich!
Das Skript erkennt die zuverwendene Loginoption Datei/manuell anhand des Vorhandenseins der Datei stv_autologin
. Für den Wechsel zum manuellen Login diese Dateien im Skriptverzeichnis löschen, beim nächsten Skriptstart erscheint dann der initiale Auswahldialog (siehe Erstes Login und manuelles Login). Am besten startet man hierfür das Skript mit der Funktionstestoption -t
.
Sind die gespeicherten Daten nicht mehr korrekt, wird eine entsprechende Fehlermeldung ausgegeben bzw. um die Eingabe neuer Daten gebeten.
[-] Fehler beim Login mit UserID 612612!
Bitte in 'stv_autologin' Username und Passwort prüfen
Aktueller Inhalt von stv_autologin:
612612 FalschesPasswort
Bei einem Überlast 500er Serverfehler beim Login, wird das Skript direkt beendet.
Standardmäßig wird die Aufnahme aller Sendungen aller Sender programmiert.
Das Skript holt beim Start eine aktuelle Senderliste vom SaveTV Server und speichert diese als stv_sender.txt
ab. Eventuell neu hinzugekommene Sender werden automatisch zur Aufnahme programmiert.
Durch die Datei stv_skip.txt
können einzelne Sender von der Aufnahme ausgeschlossen werden. Wird diese Datei gelöscht, legt das Skript beim Start automatisch eine neue leere Datei an.
stv_sender.txt
und stv_skip.txt
verwenden das gleiche Format ("SenderID|Sendername" "10|KiKA").
Damit man seine persönliche Skipliste einfach erstellen kann, wird die aktuelle Senderliste als Muster unter stv_skip_vorlage.txt
angelegt. Dort kann man mit einem Texteditor diejenigen Sender/Zeilen entfernen, die weiterhin aufgenommen werden sollen, sodaß nur die nicht aufzunehmenden Sender übrigleiben.
Wenn man fertig ist, speichert man diese geänderte Datei unter dem Namen stv_skip.txt
ab.
> cat stv_skip.txt
92|Disney Channel
60|DMAX
7|Eurosport
96|Fix und Foxi
59|Folx TV
40|Health TV
10|KiKA
11|MTV
93|RiC
6|SPORT 1
95|TLC
Zusätzlich kann man durch manuellen Aufruf des Funktionstests ./stvcatchall.sh -t
(mehr …) die Korrektheit der Skipliste kontrollieren.
[i] Aktuell sind 46 Sender bei Save.TV verfügbar.
[i] Die Liste der ausgeschlossenen Sender 'stv_skip.txt' beinhaltet:
KiKA MTV Health TV
Folx TV SPORT 1 DMAX
Eurosport Disney Channel RiC
TLC Fix und Foxi
Durch den Parameter anlege_modus
wird gesteuert, wie mit den durch das Skript angelegten Channels verfahren wird. Normalerweise wird man die voreingestellte Option auto
verwenden, kann sie aber auch überschreiben.
Defaulteinstellung anlege_modus=auto
Bei dem Basis und XL Paket werden die Channels nach dem Anlegen wieder gelöscht,
beim XXL Paket bleiben die Channels erhalten.
Sollten beim Start nicht genügend ungenutzte Channels vorhanden sein, wird geprüft, ob die neu anzulegenden Channels bereits vorhanden sind und ein entsprechender Hinweis im Infochannel "_ OK nur Dups" ausgegeben, anderenfalls bricht das Skript mit einem Hinweistext ab.
anlege_modus=immer
Vom Skript angelegte Channels bleiben immer erhalten. Das Skript prüft vor dem Start, ob noch genügend ungenutzte Channels vorhanden sind und wechselt bei Bedarf zurück in den auto
Modus. Ein Hinweistext wird ausgeben.
anlege_modus=nie
Vom Skript angelegte Channels werden nach dem Anlegen wieder gelöscht, auch wenn mehr ungenutzte Channels verfügbar sind als benötigt werden. Der Pseudostichwortchannel mit dem Ausführungsstatus wird nicht angelegt.
Es werden zwei Arten von Channels durch das Skript angelegt, der Infochannel und die Senderchannels. Der Infochannel zeigt Statusinformationen zum letzten Skriptlauf und wird im Webinterface und der App ganz oben angezeigt, die Senderchannels werden entweder direkt nach der Anlage wieder gelöscht oder sortieren sich am Ende der Userchannelliste ein.
Beispielhafte Channelliste mit automatisch vom Skript und vom XXL-User manuell angelegten Channels
_ OK nur Dups So 0524 1320
Hamsterikebana (z.B. manuell angelegter Stichwortchannel)
Tatort (z.B. manuell angelegter Serienchannel)
(...)
zz 3sat - Abend
zz 3sat - Nachmittag
(...)
zz zdfinfo - Nacht
zz zdfinfo - Vormittag
_ OK Mi 0731 2258 Neue Version >>> Bedeutung
_ Underscore am Anfang = von CatchAll angelegt
OK oder FEHLER fehlerfrei bzw. Fehler sind aufgetreten
OK nur Dups alle anzulegenden Channels waren bereits vorhanden
Mi 0731 2258 Datum (Wochentag Monat Tag) Uhrzeit (Stunde Minute)
Neue Version (optional) eine neuere Skriptversion ist verfügbar
Die Senderchannels werden beim XL Paket direkt nach der Anlage wieder gelöscht, beim XXL Paket soriteren sie sich ans Ende der Channelliste.
zz 3sat - Abend >>> Bedeutung
zz zz sortiert die Catchall Channel nach hinten
3sat Sendername
Abend Timeslot (Vormittag,Nachmittag,Abend,Nacht)
Hat man aus Versehen zu viele Channels angelegt oder möchte nur alle Channels löschen lassen, kann man die Zusatzfunktion Reste aufräumen verwenden.
Die zusätzlichen XXL Channels sind auch nach dem 26.05.2020 noch aktiv, wenn sie vor dem 17. Juni 2020 angelegt wurden. Die Channels lassen sich löschen, aber nicht wieder neu anlegen.
Die Empfehlung hierzu ist ausgelagert: siehe Issue #3
STV Catchall kann zwar mit dem Basis Paket verwendet werden, aber das Einrichten von CatchAll Channels ist nicht sinnvoll, da das Basis Paket nur einen begrenzten Aufnahmespeicher von 50 Stunden bietet.
Die automatische Prüfung bei jedem Skriptlauf kann durch Ändern des Flags check_version
von defaultmäßig true
auf false
deaktiviert werden. Beim Funktionstest -t
bzw. --test
wird immer auf eine neuere Skriptversion hin geprüft.
Bei der Versionsüberprüfung werden keine Daten an den Server gesendet, es wird die Datei stv-version-check
von GitHub geladen und mit der lokalen Skriptversion verglichen.
Wird eine neuere Version gefunden, wird "Neue Version" an die Ausführungsinformation des Skripts angehängt - siehe 'Ausführungsstatus kontrollieren'.
Der Funktionstest überprüft neben den Skripteinstellungen den korrekten Zugriff auf den SaveTV Account. Die für die Sendungsprogrammierung relevanten Daten werden angezeigt, um besonders beim ersten Start, keine "falschen" Programmierungen anzulegen.
Bei der ersten Skriptausführung wird der Funktionstest Soll ein Funktionstest durchgeführt werden (J/N)? :
automatisch angeboten.
Zusätzlich zum automatischen Aufruf beim ersten Skriptstart kann der Funktionstest mit den Optionen -t
--test
direkt aufgerufen werden.
Hinweis: der erste Aufruf des Skripts wird anhand des Fehlens der Logdatei stv_ca.log
erkannt.
Funktionstest auf korrekte Logindaten und verfügbare Channels wird durchgeführt.
[-] Automatische Versionsüberprüfung ist AUS
[✓] Skript ist aktuell
[✓] Schreibrechte im Skriptverzeichnis
[✓] gespeicherte Logindaten in 'stv_autologin' vorhanden
[✓] Login mit UserID 612612 erfolgreich
[i] Paket 'Save.TV XL 24 Monate', Laufzeit bis zum 2020-12-31
20 Channels enthalten, davon aktuell 10 benutzt
Channelanlegemodus 'auto' wird verwendet
Sendungen aufgenommen 136674, Sendungen programmiert 9662
[i] Eingestelle Pufferzeiten und Aufnahmeoptionen
Vorlaufzeit: 5 Min. Nachlaufzeit: 20 Min. Auto-Schnittlisten: AN
[i] Aktuell sind 46 Sender bei Save.TV verfügbar.
[i] Die Liste der nicht aufzunehmenden Sender 'stv_skip.txt' beinhaltet:
KiKA MTV Health TV
Folx TV SPORT 1 DMAX
Eurosport Disney Channel RiC
TLC Fix und Foxi
[✓] Testchannel erfolgreich angelegt
[✓] Channelliste einlesen
[✓] Testchannel erfolgreich gelöscht
[✓] Logout durchgeführt
[i] Funktionstest wurde in 9 Sekunden abgeschlossen
[-] Neue Skriptversion '2020-01-07' ist verfügbar, Update wird empfohlen
[✓] Schreibrechte im Skriptverzeichnis
[-] Fehler beim Login mit UserID 612612!
Bitte in 'stv_autologin' Username und Passwort prüfen
Aktueller Inhalt von stv_autologin:
612612 FalschesPasswort
Sind die Userdaten korrekt, kann auch eine allgemeine Störung vorliegen.
[!] Es sind mehr Channels angelegt, als im gebuchten Paket verfügbar sind!
Diese können z.B. beim temporären XXL Upgrade 05/2020 angelegt worden sein,
sie sollten nur bei dringendem Bedarf gelöscht werden, da eine Neuanlage
nur im Rahmen des gebuchten Pakets möglich ist.
[-] Der Funktionstest hat länger als die erwarteten 10 Sekunden benötigt!
Der aktuelle Skriptfortschritt wird während der Ausführung auf dem Bildschirm (siehe unten "Beispielausgabe") ausgegeben, zusätzlich wird zur späteren genaueren Kontrolle im Skriptverzeichnis eine Logdatei geschrieben die sämtliche vom Skript angelegte Channels und eventuelle Fehlermeldungen enthält.
Die Logdatei hat das Format stv_ca_TAG_UHRZEIT.log z.B. stv_ca_1229_0517.log
. Die aktuellste Logdatei ist immer unter dem Link stv_ca.log
abrufbar. Es werden die Logs der letzten sieben (sechs alte Logs plus dem aktuellen) Skriptausführungen aufgehoben, längere oder kürzere Fristen lassen sich im Skript per log_max
einstellen.
Der Status des letzten Skriptlaufs läßt sich von jedem Gerät aus prüfen ohne im Log nachsehen, z.B. direkt auf der SaveTV Webseite oder der SaveTV App, dazu wird am Ende der Skriptausführung eine Kurzzusammenfassung als "Pseudostichwortchannel", dessen Titel den Status und das Datum der Ausführung enthält, angelegt.
Optional: Ist die Versionsüberprüfung aktiviert und sollte eine neue Skriptversion verfügbar sein, wird zusätzlich "Neue Version" angezeigt.
Der Channeltitel hat dabei folgenden Aufbau:
_ OK Mi 0731 2258 Neue Version bedeutet
_ Underscore am Anfang = von CatchAll angelegt
OK / FEHLER fehlerfrei bzw. Fehler sind aufgetreten
Mi 0731 Datum Wochentag Monat Tag
2258 Uhrzeit Stunde Minute
Neue Version (optional) eine neuere Skriptversion ist verfügbar
Für diese Statusinformation wird kein Channel "verschwendet", da dieser Channel bei der nächsten Skriptausführung als erstes gelöscht wird, bevor weitere Channels angelegt werden. Und da der "Pseudochannel" erst ganz am Ende neu angelegt wird, nachdem alle zur Skriptausführung benötigten temporären Channels bereits wieder gelöscht wurden, belegt er quasi nur den Platz eines der temporären Channels während das Skript nicht läuft.
Sollten bei der Channelanlage Fehler auftreten, so wird im Fortschrittsbalken statt des "✓" für Okay ein "F" ausgegeben und am Ende zeigt das Skript die Logdatei an.
Wird die Anzahl der maximal erlaubten Fehler überschritten, defaultmäßig err_max=9
, bricht das Skript vorzeitig ab. Auf AlleStörungen.de wird geprüft, ob auch andere User aktuell Probleme melden:
Es sind 6 Fehler aufgetreten, das Skript wird beendet.
Meistens treten Fehler auf, wenn die SaveTV Server im Moment der Channelanlage überlastet sind. Bei einem späteren Anlegeversuch werden diese Channels ohne Fehler eingerichtet. Daher können Fehler i.d.R. ignoriert werden, solange das Skript zeitnah, maximal jedoch innerhalb von 7 Tagen erneut gestartet wird und fehlerfrei durchläuft. Zusätzlich werden am Ende der Skriptsusführung einstellbar häufige Versuche der erneuten Channelanlage durchgeführt (mehr ).
Die konkrete Serverfehlermeldung ist in der Logdatei stv_ca_TAG_UHRZEIT.log
enthalten.
Schwerwiegende Fehler sind zum leichteren Filtern mit einem :
am Zeilenanfang markiert.
: *** Fehler *** bei 2 arte Nachmittag
: Grund : 500 - Internal server error.
: *** Fehler *** bei 2 arte Abend
: Grund : 504 - www.save.tv | 504: Gateway time-out
: *** Fehler *** bei 2 arte Nacht
: Grund: Channel mit gleichem Zeitraum ist bereits vorhanden!
: Tip : Channelliste mit -c prüfen und bereinigen
: Es sind 6 Fehler aufgetreten, das Skript wird vorzeitig beendet.
Sollten durch die Servernichterreichbarkeit oder den Skriptabbruch nicht gelöschte temporäre Channel zurückbleiben, können diese mit der Funktion Channels aufräumen gelöscht werden.
Durch Auswertung des EXITcodes nach der Skriptausführung kann über die Ausgabe eventueller Anlagefehler im Statuschannel hinaus (mehr …) auch auf eventuell aufgetretene schwere Fehler, die zu einem Skriptabbruch geführt haben, reagiert werden.
Exitcode 0
zeigt eine erfolgreiche Skriptausführung, alle Channels konnten angelegt werden
Exitcode 1
wird für schwerwiegende Fehler wie Loginfehler oder gehäufte Fehler bei der Channelanlage verwendet, die zu einem vorzeitigen Skriptabbruch führen und bei denen deshalb vom Skript kein neuer Statuschannel angelegt werden konnte.
Eine fehlerhafte Ausführung ist dann nur am veralteten Datum des Statuschannels oder dem gänzlichen Fehlen des Statuschannels erkennbar.
Exitcode 2
zeigt an, daß bei der Channelanlage Fehler aufgetreten sind, die sich aber unterhalb der festgelegten Grenze, defaultmäßig err_max=9
, bewegten
Die häufigsten Fehler treten durch eine momentane Überlastung des Webservers auf.
Die bei der Channelanlage aufgetretenen Fehler werden gezählt und wenn die Gesamtfehlerzahl beim Channelanlegen unter dem Maximalwert von 9 Fehlern bleibt (konfigurierbar durch err_max
) werden im Anschluß bis zu 3 (konfigurierbar durch vers_max
) weitere Versuche unternommen, die Channels anzulegen. Dabei wird zwischen den einzelnen Durchläufen jeweils eine Pause von 10 Minuten (konfigurierbar durch vers_sleep
) eingelegt.
Wird vers_max=0
gesetzt, wird keine Wiederholung der Channelanlage durchgeführt.
In Serverhochlastzeiten sollte err_max
auf einen höheren Wert gesetzt werden, sonst bricht das Skript beim Erreichen des Maximalwerts ab, bevor der erste Durchlauf abgeschlossen wurde. Dann wird auch kein neuer Anlegeversuch durchgeführt.
Anlage der fehlerhaften Channels wird erneut versucht
Versuch 1 von 3, noch 3 Channels anzulegen
✓ Erfolgreich angelegt: 3sat Nachmittag
- Fehler bei : NDR Vormittag
- Fehler bei : zdf Abend
Warte 600 Sekunden bis zum nächsten Durchlauf
Versuch 2 von 3, noch 2 Channels anzulegen
✓ Erfolgreich angelegt: NDR Vormittag
✓ Erfolgreich angelegt: zdf Abend
Alle 3 Channels konnten erfolgreich angelegt werden.
Bitte vor dem ersten Skriptlauf prüfen, ob die Save.TV Einstellungen zu Vorlauf-, Nachlaufzeit und Auto-Schnittlisten den eigenen Wünschen entsprechen.
Link zu den Optionen bei Save.TV > Account-Einstellungen > Aufnahme-Optionen
Durch Ändern der Fileextension von stvcatchall.sh
in stvcatchall.console
kann das Skript direkt im Finder per Doppelklick gestartet werden; es wird ein neues Terminalfenster geöffnet, in dem das Skript dann abläuft.
Diese Datei kann man auch als Autostartobjekt verwenden, dann wird es bei jedem Systemstart automatisch ausgeführt. Externe Anleitung: Autostart-Programme über die Systemeinstellungen festlegen
Das Skript kann mit Termux unter Android verwendet werden.
In der Termux Standardinstallation ist curl
noch nicht enthalten, es kann mit pkg install curl
nachinstalliert werden.
_______ _______ _ _ _______ _______ _ _
|______ |_____| \ / |______ | \ /
______| | | \/ |______ . | \/
===============================================
____ C_a_t_c_h_a_l_l___e_i_n_r_i_c_h_t_e_n ____
Aufnahme aller Sendungen der nächsten 7 Tage für folgende 36 Sender einrichten:
3sat ANIXE HD ARD alpha HD arte
BR Comedy Central Das Erste DELUXE MUSIC
eoTV hr Kabel 1 mdr
N24 Doku NDR Nickelodeon n-tv
ONE HD phoenix ProSieben ProSieben MAXX
RBB RTL II SAT.1 SAT.1 Gold
ServusTV sixx SUPER RTL SWR
tagesschau24 Tele 5 VOX WDR
WELT ZDF zdf_neo zdfinfo
Es werden jeweils 4 temporäre Channels angelegt und wieder gelöscht.
Channels + anlegen - löschen ✓ Sender programmiert F_ehler&Anzahl
Sender : ✓✓✓✓✓ ✓✓✓✓✓ ✓✓✓✓✓ ✓✓✓✓✓ ✓✓✓✓✓ ✓✓✓✓✓ ✓✓✓✓✓ ✓
144 Channels wurden angelegt und wieder gelöscht.
Aktuell sind 10243 Sendungen zur Aufnahme programmiert.
Bearbeitungszeit 474 Sekunden
_______ _______ _ _ _______ _______ _ _
|______ |_____| \ / |______ | \ /
______| | | \/ |______ . | \/
===============================================
_____C_a_t_c_h_a_l_l__e_i_n_r_i_c_h_t_e_n_____
Bereinigung von nicht mehr benötigten Inhalten
1 Skipliste : Channels, Aufnahmen und Programmierungen
2 Channelliste: vom Skript angelegte Channels löschen
3 Videoarchiv : Aufnahmen mit vordatiertem Timestamp löschen
[?] Bereinigungsmodul wählen (1 / 2 / 3 / A_lle 1-3 / Q_uit)? :
Durch den Aufruf des Skripts mit --cleanup
oder -c
werden die Bereinigungsfunktionen aufgerufen.
Die Bereinigungsfunktionen bestehen aus den Modulen:
- für Sender der Skipliste die Channels, Aufnahmen und Programmierungen löschen mehr …
- alle vom Skript angelegten Channels löschen mehr …
- im Videoarchiv Aufnahmen mit vordatiertem Timestamp löschen mehr …
Die Module können gezielt einzeln "1" bis "3" aufgerufen oder nacheinander "A" durchlaufen werden. Je Modul kann die Löschung gefundener Inhalte mit "N" übersprungen oder das Skript mit "Q" komplett beendet werden.
Wenn man einen Sender nicht mehr aufnehmen möchte oder man die Anleitung bezüglich der Senderskipliste nicht sorgfältig genug gelesen hat (mehr …), befinden sich die vorgenommenen Programmierungen und alten Aufnahmen weiterhin im SaveTV System bis die Vorhaltezeit des SaveTV Pakets (30/60/100 Tage) abgelaufen ist.
Zu sehen mit dem manuellen Aufruf der Seite 'Mein Videoarchiv' > Popup links oben 'Alle Sendungen' > PopUp rechts oben 'Sendernamen' > rechts oben 'Nach Titeln gruppieren' auf AUS. Bei einem Vollprogrammsender können so 4000 und mehr Einträge zu löschen sein.
Wer seinen Account bereits vorher säubern will, kann die entsprechenden Sender und Sendungen manuell löschen oder die Reste aufräumen Funktion von stv-catchall verwenden.
Die Funktion prüft, ob für die Sender der Skipliste, die bei der Aufnahme übersprungen werden, (siehe auch Sender von der automatischen Aufnahme ausschließen) Channels, aufgenommene Sendungen oder programmierte Aufnahmen vorliegen und löscht diese.
Beim Start der Aufräumenfunktion werden alle Sender der Skipliste aufgelistet und das Aufräumen muß mit "j" oder "J" bestätigt werden.
Hinweis: Die Löschung der aufgenommenen Sendungen kann nicht rückgängig gemacht werden.
Das Skript löscht dann zuerst eventuell noch existierende Senderchannels mit der Option "Alles löschen – löscht alle Programmierungen und die im Channel enthaltenen Aufnahmen aus dem Archiv". Entgegen der Aussage das Save.TV Systems bleiben trotzdem Aufnahmen und Programmierungen übrig, diese werden dann einzeln Position für Position gelöscht.
Das entspricht dem manuellen Aufruf der Seite 'Mein Videoarchiv' > Popup links oben 'Alle Sendungen' > PopUp rechts oben 'Sendernamen' > rechts oben 'Nach Titeln gruppieren' auf AUS und Klicken der . Bei einem Vollprogrammsender können so 4.000 und mehr Einträge zu löschen sein. Typische 'Reste' bewegen sich zwischen 200 und 400 Einträgen.
Einmal gelöschte Einträge bleiben gelöscht, jedoch tauchen manchmal noch 7 bis 14 Tage lang, trotz gelöschtem Channel und Einzellöschung immer wieder neue Sendungen auf, die man dann manuell löschen muß. Falls die einen stören sollten, gibt es um das Löschen zu automatisieren, die --cleanupauto
Option, Deatils siehe im übernächsten Absatz.
Um die Reste aufräumen Funktion auszuführen, muß das Skript mit dem Parameter --cleanup
oder -c
aufgerufen werden
./stvcatchall.sh -c
Die Sicherheitsabfrage der Reste aufräumen Funktion Alles bereinigen (J/N/Q)?
wird durch Aufruf des Skripts mit dem Parameter --cleanupauto
übersprungen. Nach dem Aufräumen wird mit der Anlage der Catchall Channels fortgefahren
./stvcatchall.sh --cleanupauto
Dadurch ist es möglich nicht nur die Catchall Programmierung sondern auch das Reste aufräumen im Cron durchzuführen. Siehe auch Tägliche Ausführung einrichten
1/3 Programmierungen und Aufnahmen der Sender der Skipliste löschen
Ihre Liste der nicht aufzunehmenden Sender 'stv_skip.txt' beinhaltet zur Zeit:
KiKA MTV Health TV Folx TV
SPORT 1 DMAX Eurosport Disney Channel
RiC TLC Fix und Foxi
[i] Sollen für diese 11 Sender die vorhandenen Channels, Programmierungen
und die bereits aufgenommenen Sendungen *endgültig* gelöscht werden?
[?] Alles bereinigen (J_a / N_ein / Q_uit)? : j
[i] Lösche die Programmierungen und Aufnahmen der Sender der Skipliste
[✓] 'KiKA' 4 Channels gelöscht
[i] 'KiKA' lösche 412 Einträge ............✓
[i] 'MTV' lösche 114 Einträge ....✓
[i] 'Health TV' lösche 383 Einträge ...........✓
'Folx TV' muß nicht gesäubert werden
[i] 'SPORT 1' lösche 281 Einträge .........✓
[i] 'DMAX' lösche 237 Einträge .......✓
[i] 'Eurosport' lösche 127 Einträge ....✓
[i] 'Disney Channel' lösche 316 Einträge ..........✓
[i] 'RiC' lösche 159 Einträge .....✓
'TLC' muß nicht gesäubert werden
'Fix und Foxi' muß nicht gesäubert werden
[i] Es wurden insgesamt 2029 Aufnahmen und Programmierungen gelöscht.
Wenn man im XXL Paket 188 Channel angelegt hat und CatchAll nicht mehr verwenden möchte oder wenn die Ausführung des Skripts beim Channelanlegen abgebrochen wurde (Ctrl C, Stromausfall ...) bleiben vom Skript angelegte Channels übrig, die von Hand gelöscht werden müssen.
Wird die Reste aufräumen Funktion im manuellen Modus mit ./stvcatchall.sh -c
aufgerufen, wird anschließend an das Aufräumen der Sender der Skipliste geprüft, ob noch 'alte' vom Skript angelegte Channels vorhanden sind. Das Skript erkennt dabei seine eigenen Channels anhand des zz
am Anfang des Channelnamens und fragt, ob diese Channels gelöscht werden sollen.
Es sind 4 vom STV CatchAll Skript angelegte Channels vorhanden,
beim Channellöschen bleiben bereits erfolgte Aufnahmen *erhalten*.
Diese 4 Channels und zugehörigen Programmierungen löschen (J/N/L/Q)? : j
Um einen ungewollten Datenverlust zu vemeiden, löscht das Skript nur die Channels und die zukünftigen Programmierungen, die vorhandenen Aufnahmen bleiben erhalten.
Tip: Sollen die über den Channel erfolgten Aufnahmen auch gelöscht werden, als erstes die zu den Channels gehörenden Sender in die Skipliste stv_skip.txt
eintragen und dann die Reste aufräumen Funktion ./stvcatchall.sh -c
erneut aufrufen.
Hinweis zu den Channels aus dem temporären XXL Upgrade
Wenn man während des temporären kostenlosen XXL-Upgrades 05/2020 mehr Channels angelegt hat, als im gebuchten Paket anthalten sind, erfolgt vor dem Löschen eine zusätzliche Sicherheitsabfrage, da die über das Paket hinausgehenden Channels nicht wieder neu angelegt werden können!
[!] Achtung, von den 136 Channels sind nur 20 in ihrem STV Paket enthalten,
die übrigen 116 Channels können *nicht* neu angelegt werden.
[?] Trotzdem die Channels und zugehörigen Programmierungen löschen (J/N)? : j
Der erste Teil ist identisch zur Beispielausgabe Reste aufräumen danach folgt:
2/3 Prüfe die Channelliste auf von STV CatchAll angelegte Channels
[i] Es sind 5 vom STV CatchAll Skript angelegte Channels vorhanden,
beim Channellöschen bleiben bereits erfolgte Aufnahmen *erhalten*.
Die Option 'L' zeigt eine Liste der gefundenen STV Channels an.
[?] Diese 5 Channels und zugehörigen Programmierungen löschen (J/N/L/Q)? : j
Lösche 5 Channels : .....✓
Es wurden 5 Channels gelöscht.
Es handelt sich um einen Save.TV Fehler, nicht um einen Fehler des Skripts.
Wenn man das Videoarchiv ohne Filter aufruft (Link: 'Mein Videoarchiv' Übersicht (nur eingeloggt sichtbar)) erhält man eine von neu zu alt sortierte Liste aller vorhandenen Aufnahmen. Manchmal befinden sich an den obersten Positionen aber Aufnahmen, die älter als die nachfolgenden sind.
Der Grund ist, dass die Sortierung nicht anhand des sichtbaren Aufnahmedatums sondern anhand des internen DSTARTDATE erfolgt. Bei den vermeintlich falsch einsortierten Aufnahmen liegt das DSTARTDATE in der Zukunft, wodurch sie dauerhaft ganz oben gelistet werden. Besonders häufig tritt das bei Aufnahmen vom Sender WELT und der Kategorie Sport auf, dort können drei oder mehr solcher Aufnahmen pro Woche auftreten, die dann die komplette erste Seite einnehmen können.
Man kann diese Aufnahmen zwar manuell löschen, doch gibt es Fälle, in denen die gelöschte Aufnahmen am nächsten Tag wieder als 'neu' in der Aufnahmeliste erscheinen - daher die Bezeichung "Zombies".
Bei der Zombiebereinigung werden die 35 aktuellsten Aufnahmen im Videoarchiv, das entspricht der ersten Übersichtsseite, überprüft, ob ihr DSTARTDATE in der Zukunft liegt und falls dabei Aufnahmen gefunden werden, werden diese bei gesetztem check_zombies
Flag (siehe unten) automatisch gelöscht.
Wird die allgemeine Cleanup Funktion im Terminal aufgerufen ./stvcatchall.sh -c
wird nach dem Reste- und Channelaufräumen, eine Überprüfung auf Zombies angeboten. Eventuell gefundene Aufnahmen werden aufgelistet und können nach einer Nachfrage direkt gelöscht werden.
Da es sich bei der Zombiebereinigung um nicht rückgängigmachbare Löschungen handelt, ist die automatische Prüfung und Löschung der Zombies standardmäßig deaktiviert. Zum Aktivieren des automatischen Löschens muß im Skript das Flag check_zombies
von false
auf true
geändert werden.
Ist die 'Zombieaufnahmen löschen' Funktion mit true
aktiviert, erfolgt automatisch bei jedem Skriptlauf eine Überprüfung und Löschung eventuell gefundener Zombies. Einmal gelöschte Aufnahmen können nicht wiederhergestellt werden.
Jede gelöschte Aufnahme wird mit TelecastID, DSTARTDATE, tatsächlichem Aufnahmedatum, Sendernamen und Kurztitel im Log protokolliert. Zur nachträglichen Kontrolle kann man anhand der TelecastID auch bei bereits erfolgter Löschung der Aufnahme, die Sendungsdetails einsehen, dazu im Browser die geloggte ID an die URL https://www.save.tv/STV/M/obj/archive/VideoArchiveDetails.cfm?TelecastId=
anhängen.
Prüfe Videoarchiv auf Zombie Aufnahmen
Telecast DSTARTDATE DSTARTDATEBUFFER Sender Sendung
17997070 2020-11-24 2020-11-10 16:15:00 WELT Sport
Der erste Teil ist identisch zur Beispielausgabe Reste aufräumen und Beispielausgabe Channels aufräumen danach folgt:
3/3 Prüfe das Videoarchiv auf chronologisch falsch einsortierte Aufnahmen
Aufzeichnungsbeginn Sender Sendung
2020-12-03 18:20:00 Das Erste Brisant
2020-11-29 10:30:00 Kabel 1 Aufgedeckt - Rätsel der Geschichte
2020-12-07 16:15:00 WELT Sport
2020-12-07 15:15:00 WELT Sport
2020-12-01 16:15:00 WELT Sport
2020-11-30 16:15:00 WELT Sport
2020-11-30 15:15:00 WELT Sport
2020-11-29 15:15:00 WELT Sport
2020-12-05 14:35:00 WELT WELT-Spezial
2020-12-08 16:15:00 WELT Sport
2020-12-05 15:05:00 WELT Sport
[?] Diese 11 Aufnahmen löschen (J/N/Q)? : j
[✓] alle 11 Aufnahmen wurden gelöscht
[i] Bearbeitungszeit 18 Sekunden
Die Datei stvcatchall.sh direkt auf dem Raspberry runterladen.
wget https://raw.githubusercontent.com/einstweilen/stv-catchall/master/stvcatchall.sh
Hinweis Die automatische Versionsprüfung sollte im Skript aktiviert werden.
Statt des einmaligen Downloads kann man auch das komplette stv-catchall Repository auf den Raspberry clonen
git clone https://github.com/einstweilen/stv-catchall.git
Falls Git noch nicht installiert ist, zuerst Git mit sudo apt-get install git
installieren.
Danach entweder in das durch Git anlegte Verzeichnis stv-catchall
wechseln cd stv-catchall
oder in des Verzeichnis in dem der manuelle Download des Skripts stvcatchall.sh
erfolgt ist. Dort die Datei mit
chmod +x stvcatchall.sh
auf ausführbar setzen.
Damit das Skript automatisch täglich ausgeführt wird, muß es in die Liste der regelmäßigen Jobs, der Cron Tabelle, eingetragen werden.
Um das Skript z.B. täglich um 5 Uhr ausführen zu lassen, zuerst die Cron Tabelle mit crontab -e
öffnen, nach ganz unten scrollen und am Ende
0 5 * * * /home/dietpi/stv-catchall/stvcatchall.sh
eintragen.
Dabei steht 0 5
für 5:00 Uhr, * * *
für jeden Tag, jeden Monat, an jedem Wochentag und /home/dietpi/stv-catchall/stvcatchall.sh
für den kompletten Pfad zum Skript.
Für weitere Details siehe Externe Seite: Crontab Guru The quick and simple editor for cron schedule expressions.
Wird kein DietPi verwendet, den Pfad zum stvcatchall.sh
Skript entsprechend anpassen. Wenn man sich nicht sicher ist, in das Skriptverzeichnis wechseln und dort pwd
eingeben, dann bekommt man den Pfad /home/dietpi/stv-catchall
angezeigt und muß nur noch den Skriptnamen stvcatchall.sh
ergänzen.
Es ist auch möglich, dem Skriptaufruf Parameter mitzugeben, so daß täglich ein stvcatchall.sh --cleanupauto
ausgeführt wird
0 5 * * * /home/dietpi/stv-catchall/stvcatchall.sh --cleanupauto
Wenn das SaveTV Catchall Skript mit stvcatchall.sh -?
oder stvcatchall.sh --help
aufgerufen wird, wird ein kurzer Hilfetext angezeigt.