Jump to content

Aktualisierung und Bereinigung Aufnahmedatenbank


Eberhard Kutscher

Recommended Posts

Ich nutze den DVBViewer auf mehreren Geräten in meinem heimischen Netzwerk und nutze diese Geräte um TV-Sendungen aufzuzeichnen. Egal von welchem Gerät die Aufnahme gestartet wurde, werden die Aufnahmen zentral auf einem Server abgelegt. Es stellt sich jetzt folgendes Problem:

Mit Gerät A nehme ich z.B. eine Sendung auf und diese wird dann auf dem Server gespeichert. Mit Gerät B möchte ich gerne diese aufgenommene Sendung anschauen. Ich gehe in den Menüpunkt Aufnahme- und Gerätestatistik Untermenü Aufnahmen. Dort sind zunächst die Aufnahmen die Gerät A aufgezeichnet hat nicht sichtbar. Ich muss dann im Menü Aufnahme- und Gerätestatistik Untermenü Aufnahmen mit rechter Maustaste "Aufnahme-Datenbank => Datenbank aktualisieren" anstoßen. Die mit Gerät A aufgezeichneten auf dem Server gespeicherten Sendungen werden jetzt sichtbar und können auf Gerät B wiedergegeben werden. Dieser Ablauf spielt sich bei mir täglich so ab. Gibt es eine Möglichkeit direkt beim Start vom DVBViewer die Aufgabe "Aufnahme-Datenbank => Datenbank aktualisieren" oder die Aufgabe "Aufnahme-Datenbank => Datenbank bereinigen" zu triggern. Unter Media Server Options habe ich den Punkt "Media-Sammlungen" die Option Sammlungen automatisch aktualisieren gefunden. Habe dort einen Haken gesetzt und eine Aktualisierungszeit von 30 min angegeben. Leider hat diese Vorgehensweise nicht zum Erfolg geführt. Die Aufnahme-Datenbank hat sich dadurch nicht automatisch aktualisiert. Da ich den DVBViewer gern und täglich nutze würde ich mich sehr über einen Hinweis freuen, ob eine automatische Aktualisierung der Aufnahme-Datenbank eingerichtet werden kann. Auch ein Hinweis, dass dies definitiv nicht funktioniert würde mir weiterhelfen. Dann brauche ich nicht weiter nach einer Lösung zu suchen. 

 

Eberhard Kutscher

Link to comment

Ein etwas anstrengender Text. Dem obigen Wortbrei hätte eine Strukturierung in Absätzen gutgetan und mehr zum Lesen eingeladen.

 

vor 3 Stunden schrieb Eberhard Kutscher:

Gibt es eine Möglichkeit direkt beim Start vom DVBViewer die Aufgabe "Aufnahme-Datenbank => Datenbank aktualisieren" oder die Aufgabe "Aufnahme-Datenbank => Datenbank bereinigen" zu triggern.

 

Ja. Mit dem Kommandoparameter -x8260 für eine Datenbank-Aktualisierung oder -x8261 für eine Bereinigung. Die Nummern sind der Datei actions.ini im DVBViewer-Programmverzeichnis zu entnehmen. Mehr zu Kommandoparametern hier.

 

vor 3 Stunden schrieb Eberhard Kutscher:

Unter Media Server Options habe ich den Punkt "Media-Sammlungen" die Option Sammlungen automatisch aktualisieren gefunden.

 

Wie kommt der DVBViewer Media Server bei dir ins Spiel? Wo ist der installiert? Basic- oder Vollversion (die eine zusätzliche Lizenz erfordert)?

 

So wie du sie beschreibst, ist deine Konfiguration etwas sonderbar. Normalerweise läuft der DVBViewer Media Server auf einem Server PC. Dort ist auch die DVB-Hardware installiert. Andere PCs (die du offenbar "Geräte" nennst), haben keine DVB-Hardware. Die dortigen DVBViewer beziehen TV vom Server über das Netzwerk und beauftragen ihn mit Aufnahmen. Der Media Server führt diese durch und aktualisiert automatisch die Aufnahmelisten der mit ihm verbundenen DVBViewer-Clients, ohne dass diese auf ihre Datenbank zurückgreifen müssen.

 

Link to comment

Hallo Griga,

Danke für den Hinweis mit den Kommandoparametern. Habe diese an die Befehlszeile beim Aufruf von DVBViewer angehängt und es funktioniert wie gewünscht. Vielen Dank für den Hinweis.

Hier jetzt der Aufbau meines Netzwerks:

Alle PCs im Netzwerk beziehen ihr TV-Signal über ein LAN-Kabel. Ich benutze einen SAT 2 IP Converter von Digital Devices. So spare ich mir in den PCs die TV-Karte und kann auf jedem PC 8 Kanäle gleichzeitig nutzen. Gespeichert werden die TV-Aufnahmen auf einem Synology-Server, auf den jeder der PCs zugreifen kann. So schiebt PC A beispielsweise eine Sendung auf den Synology Server, während PC B diese Aufnahme (zeitgleich oder später) wiedergibt. Den DVBViewer-Media Server habe ich auf allen PCs installiert um über ein Tablet mit der DVBViewer Controller-App komfortabler Aufnahmen programmieren und verwalten zu können. 

Da der Synology-Server 24 h 7 Tage eingeschaltet ist, nutze ich ihn als Speicherort für TV-Aufnahmen, da ich dann keinen Server PC einschalten muss, um von einem anderen PC aus Aufnahmen anzuschauen.

Durch deine obige Bemerkung, dass mein Aufbau etwas merkwürdig sei, weil normalerweise ein PC als Server dient, habe ich jetzt folgende Frage. Ist es möglich den DVBViwer und den DVB Media Server auf einem Synology-Server mit dem Synology eigenen Betriebssystem zu installieren?

 

Eberhard Kutscher

Link to comment
vor 5 Stunden schrieb Eberhard Kutscher:

Ist es möglich den DVBViwer und den DVB Media Server auf einem Synology-Server mit dem Synology eigenen Betriebssystem zu installieren?

 

Nein, DVBViewer und DMS laufen nur unter Windows.

 

vor 5 Stunden schrieb Eberhard Kutscher:

Den DVBViewer-Media Server habe ich auf allen PCs installiert um über ein Tablet mit der DVBViewer Controller-App komfortabler Aufnahmen programmieren und verwalten zu können. 

 

D.h. effektiv führen deine Media Server die Aufnahmen durch, nicht der DVBViewer, und alle schreiben gemeinsam auf ein Netzwerk-Laufwerk (NAS). Soweit richtig?

 

Wenn du das Aufnahmeverzeichnis in den Media Server Optionen den Media-Sammlungen hinzufügst und diese regelmäßig aktualisieren lässt, betrifft das im wesentlichen die Medien-Seite des Webinterface sowie UPnP Clients in deinem Netzwerk (falls Web/UPnP -> UPnP AV Server aktivieren eingeschaltet ist). Z.B. würdest du dann neue Aufnahmen im DVBViewer unter Wiedergabe -> UPnP Server vorfinden. Dort kannst du im Prinzip auf das Angebot aller Media Server in deinem Netzwerk zugreifen, nicht nur auf das des lokalen DMS auf dem selben PC. Der DVBViewer spielt die Aufnahmen auf diesem Weg nicht direkt vom NAS ab, sondern erhält sie vom Media Server als HTTP-Stream.

 

Der Media Server hat eine eigene Aufnahmedatenbank. Diese lässt sich auf der Aufgabenseite des Webinterface aktualisieren. Wenn ein DVBViewer als Media Server Client konfiguriert und Optionen -> DVBViewer Media Server -> "Mit der Server-Aufnahmeliste verbinden" eingeschaltet ist, übernimmt der DVBViewer automatisch eine geänderte Server-Aufnahmeliste, so wie sie auf der Aufnahmen-Seite des Webinterface erscheint. "Auch DVBViewer-Aufnahmen anzeigen" entscheidet, ob zusätzlich der Inhalt der DVBViewer-Aufnahmedatenbank berücksichtigt wird.

 

Die Aktualisierung der Media Server-Aufnahmedatenbank lässt sich mit einem "Internen Task-Timer" automatisieren (siehe Webinterface -> Timer-Seite -> als Typ "Interner Task Timer" einstellen -> Neuer Timer). Allerdings sieht dieser nur eine Ausführung zu einer bestimmten Zeit mit täglicher Wiederholung vor, was man jedoch durch mehrere Timer für verschiedene Zeiten umgehen kann. Solange die programmierte Endzeit noch nicht überschritten ist, werden verpasste Timer nach dem Start des Media Servers nachgeholt.

 

Das ermöglicht in deinem Fall eine alternativen Vorgehensweise, aber hundertprozentig scheint es nicht zu passen - du erhälst so nicht unbedingt eine Aktualisierung beim DVBViewer-Start. Eine Funktion, mit der der DVBViewer eine Aufnahmedatenbank-Aktualisierung des Media Servers anstoßen kann, gibt es nicht.

 

Link to comment

Hallo Griga,

Erst einmal vielen Dank für die ausführliche Stellungnahme. Habe jetzt für mich einen gangbaren Weg gefunden:

Im meinem Netzwerk werden Aufnahmen programmiert und gelöscht ausschließlich über den Media-Server beziehungsweise über die DVBViewer Controller-App.

Angeschaut werden die Aufnahmen ausschließlich über den klassischen DVBViewer, den ich mit den angehängten Kommandoparametern -x8260 und -X8261 (Datenbank aktualisieren/bereinigen) starte. Habe dafür eine batch-Datei erstellt, die DVBViewer zunächst mit den Kommandoparametern -x8260 und -X8261 startet und dann solange der DVBViewer läuft alle 15 min den DVBViewer wieder neu aufruft mit obigen Kommandoparametern. Das ist dann von Nöten, wenn während auf PC B der DVBViewer zum Betrachten von aufgenommenen Sendungen läuft, auf dem PC A mit dem Mediaserver eine Sendung aufgezeichnet und auf den Synology Server geschoben wird. Durch den Batch-Job auf PC B wird jetzt alle 15 min die Datenbank durch die Kommandoparameter -x8260 und -X8261 aktualisiert. Meiner Beobachtung nach hat das alle 15 Minuten wiederholte Aufrufen des DVBViewers keine negativen Auswirkungen. Wenn der DVBViewer beendet wird, wird das vom Batch-Job erkannt und der Batch-Job beendet.

Spricht etwas gegen diese Vorgehensweise?

 

Eberhard Kutscher

DVBViewer Start Datenbank aktualisieren periodisch.bat.txt

Link to comment
vor 6 Stunden schrieb Eberhard Kutscher:

Spricht etwas gegen diese Vorgehensweise?

 

Wenn sie funktioniert, nicht :) Dass der DVBViewer dabei zeitweise nicht mehr reagiert, stört nicht? Im Unterschied zum Media Server führt er die Aktualisierung nicht in einem Hintergrund-Thread durch, sondern im UI-Thread.

 

Im Prinzip könntest du mit einer Batch-Datei auch den Media Server veranlassen, in bestimmten Intervallen seine Aufnahmedatenbank zu aktualisieren. Dazu bräuchtest du das Tool cURL (in Windows 10 enthalten), mit dem du URLs abschicken kannst. Für den lokalen MediaServer wären sie z.B.

 

http://localhost:8089/api/tasks.html?task=RefreshDB

http://localhost:8089/api/tasks.html?task=CleanupDB

 

Die kannst du auch im Browser ausprobieren. Dabei beachten: Eine Bereinigung wird nicht ausgeführt, solange noch die Aktualisierung läuft (und umgekehrt). Der DMS liefert dann einen Fehlercode an cURL (404 Not Found). Eine Bereinigung entfernt im Media Server alle Datenbankeinträge von Aufnahmen, die gelöscht wurden. Das kann bei der Auto-Suche bzw. Auto-Timern eine Rolle spielen. Es lässt sich dann eventuell nicht mehr automatisch verhindern, dass der DMS die Sendungen erneut aufnimmt.

 

Link to comment

Hallo Griga, 

Nochmals Dank für die ausführliche Antwort.

Die unten vorgeschlagenen URLs haben bei mir nicht zur Aktualisierung der Aufnahmedatenbank im Media-Server geführt (Media Server => Reiter Aufnahmen).

Es stellt sich mir jetzt die Frage welche Datenbank mit diesen Befehlen aktualisiert wird:

Aufnahmedatenbank im DMS?

Videodatenbank im DMS?

Datenbank im DVBViewer?

 

http://localhost:8089/api/tasks.html?task=RefreshDB

http://localhost:8089/api/tasks.html?task=CleanupDB

 

Meine Erfahrungen bisher sind wie folgt:

 

Fall 1

Nehme mit DVBViewer auf PC A im Netzwerk auf und lege Aufnahmen auf dem NAS ab.

Betrachte mit DVBViewer von PC B aus die Aufnahmen, die PC A auf dem NAS abgelegt hat.

Funktioniert prima mit den Kommandobefehlen x8260 und x8261

 

Fall 2

Nehme mit DMS auf PC A im Netzwerk auf und lege Aufnahmen auf dem NAS ab.

Betrachte mit DVBViewer von PC B aus die Aufnahmen, die PC A auf dem NAS abgelegt hat.

Funktioniert prima mit den Kommandobefehlen x8260 und x8261

Wenn ich auf PC B mit DVBViewer Aufnahmen auf dem NAS lösche, wird das auf PC A mit DMS nicht wahrgenommen.

Die gelöschten Aufnahmen sind unter Media Server => Reiter Aufnahmen weiter sichtbar.

Befehle

http://localhost:8089/api/tasks.html?task=RefreshDB

http://localhost:8089/api/tasks.html?task=CleanupDB

haben keine Auswirkung.

 

Fall 3

Nehme mit DMS auf PC A im Netzwerk auf und lege Aufnahmen auf dem NAS ab.

Betrachte mit DMS von PC B aus die Aufnahmen, die PC A auf dem NAS abgelegt hat.

Funktioniert gar nicht.

DMS-Aufnahmedatenbank auf PC B wird nicht mit den von PC A auf dem NAS abgelegten Aufnahmen aktualisiert.

 

http://localhost:8089/api/tasks.html?task=RefreshDB

http://localhost:8089/api/tasks.html?task=CleanupDB

haben keine Auswirkung.

 

Kommandobefehle x8260 und x8261

haben keine Auswirkung.

 

Weil mir die Bedienoberfläche gut gefällt vom DMS und ich auch die Controller-App nutzen kann, würde ich gerne den Ablauf von Fall 3 anwenden.

Auf dem NAS speichre ich nicht nur die eigentlichen ts-Aufnahmedateien sondern auch die gleichnamigen txt-Infodateien. Also sind doch alle Informationen zur Wiederherstellung/Aktualisierung der Aufnahmedatenbank im DMS verfügbar. Gibt es keinen Aktualisierungsbefehl im DMS, der sich an den auf dem NAS-Laufwerk befindlichen txt-Aufnahme Info Dateien orientiert?

 

Eberhard Kutscher

Link to comment
vor 4 Stunden schrieb Eberhard Kutscher:

Es stellt sich mir jetzt die Frage welche Datenbank mit diesen Befehlen aktualisiert wird:

Aufnahmedatenbank im DMS?

 

Genau diese. Hier funktioniert das. Ich brauche nur die von mir im Forum gepostete URL anklicken. Allerdings liegt das DMS-Aufnahmeverzeichnis nicht auf einem NAS, sondern auf der lokalen Festplatte. Und der DMS läuft hier unter Windows 8.1.

 

vor 4 Stunden schrieb Eberhard Kutscher:

Nehme mit DMS auf PC A im Netzwerk auf und lege Aufnahmen auf dem NAS ab.

 

Was heißt das genau? Der DMS schreibt direkt auf das NAS, d.h. es ist in seinen Optionen ein entsprechendes Aufnahmeverzeichnis konfiguriert? Oder verschiebst du die Aufnahme nachträglich dorthin?

 

Auswirkungen deiner Konfiguration lassen sich schlecht beurteilen, da verschiedene Einstellungen unbekannt sind. Für Abhilfe würde eine support.zip von PC A und/oder B sorgen.

 

Grundsätzlich gibt es unter Windows 10 ein Problem mit DMS-Zugriffen auf ein NAS. Mehr dazu hier. Wenn es bei dir vorliegt, würde ich allerdings erwarten, dass der DMS nicht auf das NAS schreiben kann. Oder hast du den DMS bereits mittels services.msc mit Benutzername und Passwort ausgestattet?

 

Link to comment

Hallo Griga,

Am 29.11.2021 um 21:04 schrieb Griga:

Was heißt das genau? Der DMS schreibt direkt auf das NAS, d.h. es ist in seinen Optionen ein entsprechendes Aufnahmeverzeichnis konfiguriert? Oder verschiebst du die Aufnahme nachträglich dorthin?

 

Der DMS auf PC A schreibt die Daten während der Aufnahme direkt auf den NAS. Wegen den Schreibrechten auf dem NAS habe ich die Anleitung die du im Forum hinterlegt hast schon vor einem Monat angewendet. Windows+R => services.msc => DVBViewer Media Center => Eigenschaften => Anmelden. Hat mit diesem Tip auf Anhieb geklappt.

 

Am 29.11.2021 um 21:04 schrieb Griga:

Genau diese. Hier funktioniert das. Ich brauche nur die von mir im Forum gepostete URL anklicken. Allerdings liegt das DMS-Aufnahmeverzeichnis nicht auf einem NAS, sondern auf der lokalen Festplatte. Und der DMS läuft hier unter Windows 8.1.

Dass die Befehle
http://localhost:8089/api/tasks.html?task=RefreshDB
http://localhost:8089/api/tasks.html?task=CleanupDB
keine Auswirkung auf die Aktualisierung der Media-Server Datenbank haben muss ich korrigieren.
Habe den Test zur Aktualisierung wie folgt ausgeführt.
PC_A nimmt aktuell mit DMS eine Sendung auf streamt sie auf den NAS.
Während auf PC_A noch die Aufnahme läuft führe ich die Befehle
http://localhost:8089/api/tasks.html?task=RefreshDB
http://localhost:8089/api/tasks.html?task=CleanupDB
auf PC_B aus. Ergebnis die aktuell laufende Sendung ist in der MDS Aufnahmedatenbank nicht vorhanden.
Beende ich dann auf PC_A die Aufnahme, funktioniert die Aktualisierung mit den beiden obigen Befehlen.
War nur etwas überrascht weil die Kommandobefehle x8260 und x8261 beim DVBViewer auch eine momentan laufende Sendung synchronisieren.
Kann jedoch gut mit dieser Einschränkung leben oder gibt es da noch einen Workaround, um diese Einschränkung zu umgehen?
Den MDS rufe ich mit angehängtem Skript auf, dass alle 900 s (15 min) eine Aktualisierung der Aufnahmedatenbank durchführt.
Griga noch mal vielen Dank für die zielgerichteten Tipps, die zur Freude beim Umgang mit MDS und DVBViewer beitragen.
 

Media Server Start Datenbank aktualisieren periodisch.bat.txt

Link to comment
vor 12 Stunden schrieb Eberhard Kutscher:

Ergebnis die aktuell laufende Sendung ist in der MDS Aufnahmedatenbank nicht vorhanden.
Beende ich dann auf PC_A die Aufnahme, funktioniert die Aktualisierung mit den beiden obigen Befehlen.
War nur etwas überrascht weil die Kommandobefehle x8260 und x8261 beim DVBViewer auch eine momentan laufende Sendung synchronisieren.

 

Stimmt. Ein Blick in den Code bestätigt, dass der DMS bei der Aktualisierung seiner Aufnahmedatenbank die Finger von Aufnahmen lässt, die noch in anderen Programmen geöffnet sind. Er will exklusiven Lesezugriff. Die Aktualisierung im DVBViewer verzichtet auf diese Einschränkung. Keine Ahnung, warum das im DMS früher so eingerichtet wurde. Vorstellen kann ich mir eigentlich nur, dass es die Ermittlung vorläufiger bzw. unvollständiger Daten vermeiden soll.

 

Link to comment
  • 11 months later...

Meine Aufnahmen werden auf eine SSD geschrieben und nachher bearbeitet, umbenannt und dann auf eine NAS gespeichert/verschoben und von der SSD gelöscht. Also Filme, Serien, Dokus und auch die, die ich so bekomme liegt alles auf Der NAS. Jetzt ist meine Frage ob es möglich ist das ich die Aufnahmedatenbank auch mit der NAS abgleichen kann, damit die Vorhandenen Serien, Folgen, Filme nicht noch mal aufgenommen werden. Gibt es da eine Möglichkeit? Wenn ich jetzt über die Weboberfläche auf Aufnahmen -> Aufnahmedatenbank aktualisieren gehe ist meine Aufnahme Liste leer.

Link to comment
4 hours ago, Mig10 said:

Jetzt ist meine Frage ob es möglich ist das ich die Aufnahmedatenbank auch mit der NAS abgleichen kann, damit die Vorhandenen Serien, Folgen, Filme nicht noch mal aufgenommen werden.

 

1. Der betreffende Ordner auf dem NAS muss dafür im Media Server als Aufnahmeverzeichnis in Form eines Netzwerkpfades (UNC-Pfad) eingetragen werden. Siehe Media Server-Optionen (SvcOptions.exe)  -> Aufnahmen -> Aufnahmeverzeichnisse. Auf "Hinzufügen" klicken und unter "Netzwerk" den Ordner auswählen. Beachte, dass der Media Server auch versuchen wird, direkt in diesen Ordner aufzunehmen, wenn die Bedingungen durch weitere Optionen auf der Seite erfüllt sind.

 

2. Für jede bereits vorhandene Aufnahme muss im selben Verzeichnis eine gleichnamige EPG-Info-Datei mit der Endung .txt existieren. Sonst sind die Dateien für den DMS nur schnöde Videos, keine Aufnahmen. Siehe Media Server-Optionen -> Aufnahmen -> EPG-Informationsdatei erzeugen. Ausnahme: Die Aufnahmen stehen bereits in der Datenbank, und der Media Server erkennt, dass sie woanders hin verschoben wurden.

 

3. Windows 10 erlaubt normalerweise Services, die in einem Systemkonto ohne Passwort laufen, keinen Zugriff auf Netzwerk-Laufwerke. Es sollte jedoch gehen, wenn man den Media Server für die Anmeldung Benutzername und Passwort eines Admin-Kontos auf dem PC verwenden lässt. Mehr dazu hier.

 

  • Like 1
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...