NGem Posted March 4, 2023 Posted March 4, 2023 Grüße, ich nehme auf Comedy Central "Bobs Burger" auf. Genau mein Humor Die Serie hat jede Menge Folgen und ich möchte nur noch die Folgen aufnehmen, die ich noch nicht habe - logisch. Dies gelingt mir aber nicht mehr. Meine Vermutung: Es gibt keinen Untertitel mehr. Was ich sehe und unterscheiden kann, ist jetzt der Inhalt. Sendung aus dem letztem Jahr. Date=16.06.2021 Time=21:45:00 Duration=00:20:00 Title=Bob's Burgers Info=Als Louise hört, dass Boo Boo Boyz 4 Now verlässt, macht sie bei einem Wettbewerb mit, der es Tina ermöglichen könnte, ihn zu treffen. Derweil erfahren Bob und Linda etwas Interessantes über das Restaurant, was jedoch zu Spannungen füh Series=Bob's Burgers Description=[16:9] [H.264] [HD]|[AC-3] [deu]|[AC-3] [deu] Sendung von jetzt. Date=25.02.2023 Time=11:55:00 Duration=00:20:00 Title=Bob's Burgers Info= Series=Bob's Burgers Description=Als Tina wegen schlechten Benehmens nachsitzen muss, haben Bob und Linda keinen Babysitter für ihre anderen Kinder. Sie sehen sich gezwungen, Gene und Louise allein zu Hause zu lassen. Ich hätte zwei Fragen. Prio 1: Kann ich auch "Description" nutzen, um Auto-Timer zu deaktivieren? Dann würde ich alte bereits vorhandene Aufnahmen doppelt haben, aber zumindest würde ich die neuen Austrahlungen nur einmal erhalten. Prio 2: Kann ich die alten, anders angelegten Aufnahmen mit der neuen Logik vergleichen? Danke schon mal. Quote
Webturtle Posted March 6, 2023 Posted March 6, 2023 (edited) Hallo, ich kann Dein Problem nachvollziehen! Früher gab es bei den Sendern der ProSieben Gruppe keine Episodentitel (anstelle von Untertitel, unter denen man üblicherweise die Textzeilen die im Bild eingeblendet werden) im EPG. Da ich bisher keinen DMS verwende, sondern nur den DVBViewer Pro und EPGPlus, hebe ich zu den Suchparametern keine näheren Informationen. Bis eine Möglichkeit gefunden ist, die Aufnahme von Dubletten zu verhindern, würde ich das Pferd von hinten aufzäumen und doppelte Aufnahmen nachträglich löschen. Ich würde alle Aufnahmen von Bob's Burgers in ein eigenes Unterverzeichnis speichern lassen. Das geht meines Wissens auch bei der automatischen Programmierung von Aufnahmen. Man kann auch das normale Aufnahmeverzeichnis verwenden, muß dann aber die neuen Aufnahmen heraussuchen. Dann würde alle bisherigen Bob's Burgers EPG-Info-Dateien (Bob's Burger....txt) in ein extra Such-Verzeichnis kopieren. Ich hoffe Du hast die Erstellung von EPG-Informationsdateien aktiviert (Einstellungen - Optionen - Aufnahmen). Dann kann man nach Text aus der Description in den Dateien im Such-Verzeichnis suchen lassen. Bei einem Treffer (Info= der alten Aufnahmen) kann man diese Aufnahme löschen. Die übrig gebliebenen Aufnahmen würde ich mitsamt der EPG-Infodatei zu den alten Burger verschieben (bei beendetem DMS!). Danach unbedingt die Aufnahmedatenbank aktualisieren (wie oben in den Einstellungen). Und die Info-Dateien der neuen Aufnahmen ins Suchverzeichnis kopieren. Wenn Du sie im allgemeienen Aufnahmeverzeichnist oder falls Du sowieso ein Burgers-Verzeichnist hast kann man sich diese Aktion sparen. Dann muß man die Aufnahmedatenkbank unter Umständen bereinigen, wenn man nicht den DVBViewer zum Löschen verwendet. Ich verwende für die Suche allerdings in allen Aufnahmen und nicht nur in 250+ Bob's Burgers Yahoo Desktop Search und Copernic Desktop Search. Bei der "geringen" Zahl von Dateien sollte es auch ein einfaches Suchprogramm tun (eventuell mal bei www.heise.de/download oder Google suchen). Ob und wo die Infos zu finden sind, die Du unter "Info=" zitiert hast, wenn man keine EPG-Infodateien hat erstellen lassen, weiß ich leider nicht. Laß mich mal bitte wissen, ob Dir dieser Tip hilft, sonst überlege ich mir, ob mir noch eine andere Möglichkeit einfällt. Viele Grüße Webturtle Edited March 6, 2023 by Webturtle Quote
NGem Posted March 11, 2023 Author Posted March 11, 2023 Grüße, ich nehme jetzt mal ein paar Tage alle Folgen auf. Dan probiere ich mal ein Script zu erzeugen, welches die doppelten Folgen löscht. Aber das wird nicht der Dauerstand. Ich möchte nicht, dass der Rechner permanent läuft, um Aufnahmen zu machen, die ich dann lösche. Dafür kommt Bob´s Burger zu oft Schöner wäre es irgendwie anders. Mir ist es leider nicht gelungen, die EPG-Daten auszulesen und den möglichen Aufnahmen zuzuordnen. Hat jemand eine Idee, wie man: - die EPG Daten ausliest - Timer per "URL", z.B. mit curl deaktiviert So könnte man auch ganz individuell Logiken bauen, zum Deaktivieren der Timer. Quote
NGem Posted March 11, 2023 Author Posted March 11, 2023 Grüße, ich habe etwas rumprobiert und könnte folgenden Ablauf ausgestalten. Die API: http://en.DVBViewer.tv/wiki/Recording_Service_web_API Der Sender: http://xxxxx:8089/api/getchannelsxml.html?fav=1 daraus die EPGID des Senders: Comedy Central HD (deu) EPGID="562954319065068" Mit der EPGID kann ich eine überschaubare xml des Senders laden: http://xxxxx:8089/api/epg.html?lvl=2&channel=562954319065068 Eine Sendung sieht darin so aus. <programme start="20230311140000" stop="20230311142000" channel="562954319065068"> <eventid>2539</eventid> <content>48</content> <charset>255</charset> <titles> <title>Bob's Burgers</title> </titles> <descriptions> <description> Die Belchers wollen einen Truthahn vor der Fahrt zum Schlachthaus retten, aber als ein Lokalreporter Wind von ihren Plänen bekommt, wird die Mission komplizierter, als sie erwartet haben. </description> </descriptions> </programme> Darin enthalten die <description> und die <eventid>, hier 2539 Die Timer: http://xxxxx:8089/api/timerlist.html?utf8=2 Der passende Timer. Die <eventid> der EPG entspricht EPGEventID="2539" in der ersten Zeile. <Timer Type="1" ID="{B8CC6A4D-4A1D-483B-A4C2-4774E2BA4A18}" Enabled="-1" Charset="255" Date="11.03.2023" Start="13:58:00" Dur="24" End="14:22:00" PreEPG="2" PostEPG="2" IntID="5337" Priority="50" Action="0" Timeshift="0" EPGEventID="2539"> <Descr>Bob's Burgers</Descr> <Options AdjustPAT="-1" AllAudio="-1" DVBSubs="-1" Teletext="-1" EITEPG="-1"/> <Format>2</Format> <Folder>Auto</Folder> <NameScheme>%year-%date_%time_%station_%name</NameScheme> <Title>Bob's Burgers</Title> <Series>Bob's Burgers</Series> <Source>Search:Bob's Burgers</Source> <Channel ID="2359890835988705260|Comedy Central HD (AC3,deu)" EPGID="577023706622488556"/> <Executeable>-1</Executeable> <Recording>0</Recording> <ID>5337</ID> <GUID>{B8CC6A4D-4A1D-483B-A4C2-4774E2BA4A18}</GUID> </Timer> Der Timer hat eine <ID>, hier 5337 Die Aufnahmen: http://xxxxx:8089/api/recordings.html?utf=1 Hier könnte ein Abgleich von <desc> der Aufnahme mit <description> der EPG erfolgen <recording id="2042" charset="255" content="48" start="20230311140000" duration="002000" lastmodified="133230130812516865"> <channel>Comedy Central HD (AC3,deu)</channel> <file> d:\recorded tv\2023-03-11_13-58-00_comedy central hd (ac3,deu)_bob s burgers.ts </file> <title>Bob's Burgers</title> <desc> Die Belchers wollen einen Truthahn vor der Fahrt zum Schlachthaus retten, aber als ein Lokalreporter Wind von ihren Plänen bekommt, wird die Mission komplizierter, als sie erwartet haben. </desc> <series>Bob's Burgers</series> </recording> Den Timer deaktivieren. Bei bereits vorhandener Beschreibung würde ich den Timer mit der <ID> des Timers deaktivieren. http://xxxxx:8089/api/timeredit.html?id=5337&enable=0 Es wären somit alle Informationen für eine Entscheidung vorhanden Leider erhalte ich beim timeredit eine Fehlermeldung: 404 Not Found The requested URL /api/timeredit.html was not found on this server. Es wäre doch ärgerlich, wenn der letze Schritt nicht gelingt. Quote
Griga Posted March 11, 2023 Posted March 11, 2023 vor 2 Stunden schrieb NGem: Leider erhalte ich beim timeredit eine Fehlermeldung: Hier funktioniert die URL. Der Aufrufer braucht natürlich Schreibrechte. Wenn er sie nicht hat, gibt es die besagte Fehlermeldung. Könnte etwas in der Richtung vorliegen? Quote
HaraldL Posted March 11, 2023 Posted March 11, 2023 Bei mir kommt auch die Fehlermeldung. Mein DMS hat kein Kennwort für den Webzugriff konfiguriert. Eine (vielleicht blöde) Frage: Müsste dafür im Programmordner ..DVBViewer\SVCweb nicht eine "timeredit.html" existieren? Die gibt es bei mir jedenfalls nicht. Quote
Griga Posted March 11, 2023 Posted March 11, 2023 vor 2 Stunden schrieb HaraldL: Bei mir kommt auch die Fehlermeldung. Mein DMS hat kein Kennwort für den Webzugriff konfiguriert. Merkwürdig. Zur Zeit habe ich noch keine Erklärung dafür. Ich habe über die Sender EPG-Seite des Webinterface einen neuen Timer angelegt (IntID="66" laut /api/timerlist.html) und es dann mit http://localhost:8089/api/timeredit.html?id=66&enable=0 auf dem Server PC versucht. vor 2 Stunden schrieb HaraldL: Müsste dafür im Programmordner ..DVBViewer\SVCweb nicht eine "timeredit.html" existieren? Die gibt es bei mir jedenfalls nicht. Nein. Keine Ahnung, warum früher alle API-Aufrufe mit der Anforderung einer HTML-Datei ausgestattet wurden. Irgendwas wird sich Lars dabei gedacht haben, und ich bin vorsichtshalber dabei geblieben. IMO wären sie jedoch technisch nicht nötig, und der DMS liefert dann auch keine HTML aus, sondern nur eine leere Seite. Quote
HaraldL Posted March 11, 2023 Posted March 11, 2023 vor 15 Minuten schrieb Griga: Merkwürdig. Zur Zeit habe ich noch keine Erklärung dafür. Grund gefunden: Meine Timer haben 6stellige IDs und ich hatte mich beim Testen der Timeredit-URL vertippt. Gebe ich da eine wegen des Zahlendrehers nicht existierende Timer-ID an kommt auch die besagte Fehlermeldung. Mit tatsächlich vorhandener ID eine komplett leere Seite ohne Fehlermeldung. Also funktioniert die URL bei mir doch. Quote
NGem Posted March 11, 2023 Author Posted March 11, 2023 Bei mir geht es jetzt auch. Was habe ich den vorhin gemacht? Kann es nicht mehr nachvollziehen. Aber egal. Ich probiere mich mal an einem Python Script: 1. Für jeden Timer prüfen, ob 2. der Inhalt der EGP im Feld Beschreibung 3. gleich dem Inhalt einer bereits vorhandenen Aufnahme ist 4. und wenn ja, diesen deaktivieren Muss nur noch Zeit finden Quote
NGem Posted March 12, 2023 Author Posted March 12, 2023 Ich präsentiere, mein erstes Python Script import urllib.request import xml.etree.ElementTree as ET Host = "xxxxxxx:8089" #IP:port cannel = "&channel=562954319065068" #kann leer sein url_Timer = 'http://' + Host + '/api/timerlist.html?utf8=1' response = urllib.request.urlopen(url_Timer).read() timer = ET.fromstring(response) url_EPG = 'http://' + Host + '/api/epg.html?lvl=2' + cannel response = urllib.request.urlopen(url_EPG).read() EPG = ET.fromstring(response) url_Record = 'http://' + Host + '/api/recordings.html?utf=1' response = urllib.request.urlopen(url_Record).read() record = ET.fromstring(response) for xmlTimer in timer.findall('Timer'): #Timer durchlaufen TimerID = xmlTimer.find('ID').text #TimerID merken EPGEventID = xmlTimer.get('EPGEventID') for xmlEPG in EPG.findall('programme'): #EPG durchlaufen EPGSendungsID = xmlEPG.find('eventid').text #EPGSendungsTitel = xmlEPG.find('titles/title').text if EPGEventID == EPGSendungsID: #Sendung des Timers in der EPG try: EPGdesc = xmlEPG.find('*/description').text except: EPGdesc = "" for xmlRecord in record.findall('recording'): try: RecordDesc = xmlRecord.find('desc').text except: RecordDesc = "" if EPGdesc == RecordDesc and EPGdesc != "": #gleiche Beschreibungen response = urllib.request.urlopen('http://192.168.98.23:8089/api/timeredit.html?id=' + TimerID + '&enable=0').read() #Timer deaktivieren #print(response, EPGdesc) Man kann den Host eingeben und auf den Sender einschränken. Es fängt ab, falls die Beschreibungen leer sind. Man könnte noch einen Sendungstitel als Sicherheit einbauen, und ähnliches. Man könnte es sogar mit Untertitel vergleichen und somit mit den alten Aufnahmen... Jetzt bräuchte ich noch eine schönen Aufhänger, wann es laufen soll. Nach der EPG-Aktualisierung? Wie könnte man dies organisieren? Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.