Jump to content

EPG-Suche, Auto-Timer deaktivieren, leider kein "EPG Untertitel"


NGem

Recommended Posts

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.

Link to comment

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 by Webturtle
Link to comment

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 :D

 

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.

Link to comment

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.

Link to comment
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?

 

Link to comment

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.

 

Link to comment
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.

 

Link to comment
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.

Link to comment

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 :)

Link to comment

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?

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...