Jump to content

Aufnahme automatisch löschen


Hotte021067

Recommended Posts

Posted

Aufnahme automatisch löschen 

ist es möglich eine aufnahme automatisch zu löschen
wenn ich z.b 

20.04 20:00 Tageschau 
aufnehme , und möchte diese an nachsten tag um 6:00 löschen geht das ? 

und wenn ja wie ?

danke in vorraus 

 

 

 

---------------------------------------------------------

Meine Software
DVBViewer Pro 6.1.6.1
DVB-Media-Server Vollverion 2.1.6.1

Posted

Bei  mir läuft jeden morgen eine Batch-Datei, die u.a. folgenden Befehl enthält:

 

forfiles /P p:\V2P\V\Video\$Video_Neu /M Tagesschau_*.* /D -2 /C "cmd /c del @file"

 

Damit werden alle "Tagesschau" grösser 2 Tagen automatisch gelöscht. 

Es muss lediglich der Pfad entsprechend angepasst werden.

Posted

ok muss ich die Batch-Datei jeden tag ausfuhren den mein server  läuft 24/7 

und somit kann ich die datei nicht in autostart machen , oder gibts da ne andere möglichkeit das die datei jeden tag gestartet wird ?

Posted

... deshalb habe ich in der Aufgabenplanung eine Aufgabe angelegt, die jeden Früh um 6:30 diese Batchdatei startet..

Posted

danke für die Tipps 

 

mit der Aufgabenplanung tu ich mich etwas schwer , 

weil ich nicht genau wie das geht ! 

 

aber die Batchdatei hilft erstmal weiter

Danke

Posted

Bei Bedarf kann ich ein paar Screenshots schicken von Windows 10

Posted

 das wäre cool von dir 

nach das bitte 

 

MFG Horst

Posted

äähh, ich kann vor einer solchen Batchdatei nur warnen!

Ihr löscht damit zwar die Dateien, aber nicht die Einträge in den Datenbanken des DMS. Das wird irgendwann zu Stress führen...

Sucht liebe nach einer "legalen Version" (die ich aber auch nicht kenne)

 

Posted

das ist richtig aber ich schneide sowieso Filme und verschiebe oder lösche die Filme , da muss ich auch meine Dank aufräumen

dann werde die gelöschten einträge auch bereinigt, also ich sehe da jetzt kein problem drin

Posted

Gelöschte Aufnahmen verschwinden bei einer Aufnahme-Datenbank-Aktualisierung nicht aus der Datenbank, sondern werden nur als "nicht vorhanden" markiert. Man sieht sie im Web Interface -> Aufnahmen -> Nicht vorhandene Aufnahmen und kann sie dort manuell selektiv oder alle auf einen Schlag aus der Datenbank werfen.

 

Deshalb erscheint die Aufgabe "Aufnahmedatenbank bereinigen" standardmäßig nicht mehr im Webinterface. Man kann sie dort aber einblenden: DMS-Optionen -> Aufgaben -> Angezeigte interne Aufgaben -> Haken bei Clean Up Recording Database -> OK.

 

  • 10 months later...
Posted

Eine Automatische Löschfunktionen für bestimmt Aufnahmen würde mich auch interesieren. Grundsätzlich ist das Aufräumen immer recht aufwendig. So würde ich mir wünschen das man die Aufnahmen nach gesehene und angesehene Aufnahmen sotieren kann, um diese einfacher zu identifizieren und dann zu löschen. Weiterhin funktioniert bei mir auch nicht das Makieren und löschen aller Aufnahmen im Webinterface unter Alle. In den anderen Kategorien geht es.

 

 

Posted
vor 16 Stunden schrieb ectomorph:

So würde ich mir wünschen das man die Aufnahmen nach gesehene und angesehene Aufnahmen sotieren kann, um diese einfacher zu identifizieren und dann zu löschen.

 

Das ist im Prinzip machbar. Man könnte wie auf der Media-Seite "wie oft gesehen" und/oder "wann zuletzt gesehen" anzeigen und danach sortieren. Die Daten stehen in der Aufnahmedatenbank. Allerdings geben sie nur an, wann und wie oft eine Aufnahme über den Web- und Mediaserver des DMS ausgeliefert wurde. Wenn ein Player lokal oder über einen UNC-Pfad am DMS vorbei auf die Aufnahmen zugreift, geht das in die Statistik nicht ein.

 

Das Hauptproblem dabei ist, Zeit dafür zu finden. Ich notiere es mir mal...

 

vor 16 Stunden schrieb ectomorph:

Weiterhin funktioniert bei mir auch nicht das Makieren und löschen aller Aufnahmen im Webinterface unter Alle.

 

Ich habe versucht, das Problem unter Windows 10 mit dem DMS 3.0.2 zu reproduzieren, aber ohne Erfolg. 24 Aufnahmen wurden markiert und gelöscht. Was genau passiert bei dir bzw. passiert nicht? Scheitert bereits das Markieren oder erst das Löschen? Ganz oder teilweise?

 

Posted

Eine Gefahr dabei bleibt aber: Wenn ich am (Panasonic) SmartTV einen Film über den DMS anschaue startet nach dem Ende der Wiedergabe direkt automatisch der nächste Eintrag in der Liste. Und selbst wenn ich dann sofort "Stop" oder "X" an der TV-Fernbedienung drücke hat dieser Folgeeintrag im DMS bereits die Markierung daß er gesehen wurde mit dem aktuellen Datum.

 

Der Folgeeintrag würde also ggf. mit einer darauf aufbauenden Logik gelöscht werden obwohl nie wirklich gesehen sondern nur kurz "reingerutscht".

 

  • 4 years later...
Posted (edited)

Hallo!

 

Hat sich bei diesem Thema inzwischen etwas getan? Es wäre schön, wenn man einem Timer gleich mitgeben könnte, wie lange die Aufzeichnung aufbewahrt werden soll.

 

Ich habe mir dafür jetzt ein PowerShell-Skript geschrieben, was über die Aufgabenplanung einmal am Tag ausgeführt wird und die gewünschten Aufnahmen über die Web-API löscht.

Aber schöner wäre es, wenn der DVB Media Server das selbst managen würde.

 

Hier mal das Skript (sucht nach den Titeln "RTL Aktuell" und "heute" und löscht Aufzeichnungen, die älter als 8 Stunden sind):

 

$url = "localhost"
$titlesToDelete = "^\brtl aktuell\b$|^\bheute\b$"
$hoursToKeep = 8

$recordingsUri = "http://" + $url + ":8089/api/recordings.html?utf8=1"

try {
    $response = Invoke-WebRequest -Uri $recordingsUri -Method Get -Headers @{ "Content-Type" = "application/xml" }
}
catch {
    Write-Host "Fehler beim Abrufen der Aufnahmen: $_"
    exit -1
}
[xml]$xml  = $response.Content.Trim()

$cutoffDate = (Get-Date).AddHours($hoursToKeep * -1)

$filteredRecordings = $xml.recordings.recording | Where-Object {
    ($_.title -match $titlesToDelete) -and
    (([datetime]::ParseExact($_.start, "yyyyMMddHHmmss", $null)) -lt $cutoffDate )
}

$idsToDelete = $filteredRecordings | ForEach-Object { $_.id }

if ($idsToDelete.Count -eq 0) {
    Write-Host "Keine passende(n) Aufnahme(n) gefunden."
    exit 0
} 
Write-Host "Zu loeschende Aufnahmen (IDs): $($idsToDelete)"
$deleteUri = "http://" + $url + ":8089/api/recdelete.html?recid=" + ($idsToDelete -join ",") + "&delfile=1"
$deleteResponse = 0
$deleteResponse = Invoke-WebRequest -Uri $deleteUri -Method Get -Headers @{ "Content-Type" = "application/xml" }
if ($deleteResponse.StatusCode -ne 200) {
    Write-Host "Fehler beim Loeschen der Aufnahme(n)."
    exit -1
}

Write-Host "Aufnahme(n) geloescht!"
exit 0

 

Edited by BirdOfPrey
  • Thanks 1
Posted
On 5/24/2025 at 4:04 PM, BirdOfPrey said:

Hat sich bei diesem Thema inzwischen etwas getan?

 

Nein. Dafür ein sinnvolles Konzept zu entwickeln, ist schwierig, weil die Anforderungen/Ansprüche bei verschiedenenen Anwendern verschieden ausfallen dürften, so dass es letztendlich zu einer unübersichtlichen Anzahl von Einstellmöglichkeiten führen könnte, so wie wir sie schon bei der EPG-Suche haben. Ich kenne das bereits: Jetzt bitte noch dies und bitte noch das... ;) bin aber bereit, hier konkrete Implementationsvorschläge zu diskutieren.

 

On 5/24/2025 at 4:04 PM, BirdOfPrey said:

Es wäre schön, wenn man einem Timer gleich mitgeben könnte, wie lange die Aufzeichnung aufbewahrt werden soll.

 

Ein solches Verfallsdatum müsste letztendlich in der Aufnahmedatenbank landen, denn Timer sind ja meisten weg, sobald die Aufnahme gelaufen ist. Und es müsste einen Mechanismus geben, der die Datenbank regelmäßig nach zu löschenden Aufnahmen durchforstet.

 

Aber willst du wirklich bei jedem Timer manuell eingeben, wie lange die Aufnahme aufbewahrt werden soll? Das hört sich für mich ziemlich unbequem an. Wahrscheinlich schwebt dir eher eine Automatismus vor, wie ihn dein Skript realisiert, in dem jedoch bestimmte Vorgaben hardgecodet sind

 

$titlesToDelete = "^\brtl aktuell\b$|^\bheute\b$"

 

Doch wie und wo soll sowas im Media Server bzw. Webinterface als UI realisiert werden? Da müssten solche Vorgaben variabel bzw. einstellbar sein.

 

On 5/24/2025 at 4:04 PM, BirdOfPrey said:

Aber schöner wäre es, wenn der DVB Media Server das selbst managen würde.

 

Du kannst dein Skript wahrscheinlich täglich vom Media Server mittels "Externer Task Timer" ausführen lassen, oder auch nach jeder Aufnahme. Wie man eine externe Task einrichtet, habe ich hier anhand einer Batch-Datei mal durchexerziert. Wie eine Anwendung bzw. ein Service Powershell-Skripte ausführen kann, wäre noch zu recherchieren. Der Media Server verwendet intern die CreateProcess-Funktion von Window, die sich auf EXE-Dateien bezieht. Deshalb muss in dem verlinkten Beispiel erst cmd.exe gestartet werden, die dann wiederum die Batch-Datei ausführt.

 

Posted (edited)
vor 8 Stunden schrieb Griga:

Aber willst du wirklich bei jedem Timer manuell eingeben, wie lange die Aufnahme aufbewahrt werden soll? Das hört sich für mich ziemlich unbequem an.

 

Ich dachte da eher an die EPG-Suche, der man dann mitgeben kann, wie lange die Aufnahme aufbewahrt werden soll.

In TVHeadend kann ich einer Auto-Aufnahme über "DVR Datei Speicherzeit" diese Info mitgeben. Dort kann man dann z.B. einen Tag angeben.

 

 

Zitat

Du kannst dein Skript wahrscheinlich täglich vom Media Server mittels "Externer Task Timer" ausführen lassen, oder auch nach jeder Aufnahme.

 

Danke, ich werde mir das die Tage mal anschauen.

Ich hatte auch erst daran gedacht, das nach einer Aufnahme auszuführen. Das ist mir aber eigentlich zu spät. Lieber wäre es mir vor einer Aufnahme.

Mein Skript starte ich über die Aufgabenplanung übrigens mit diesem "Befehl":

    <Exec>
      <Command>%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe</Command>
      <Arguments>-ExecutionPolicy Bypass -NoProfile -File "C:\Program Files (x86)\DVBViewer\Scripts\Aufnahmen_loeschen.ps1"</Arguments>
    </Exec>

 

Edited by BirdOfPrey
Posted
47 minutes ago, BirdOfPrey said:

Ich dachte da eher an die EPG-Suche, der man dann mitgeben kann, wie lange die Aufnahme aufbewahrt werden soll.

 

D.h. das steht dann in der Suchvorgabe, überträgt sich auf die von der Suchvorgabe erzeugten Timer und von dort aus in die Aufnahmedatenbank, wenn die Aufnahme stattgefunden hat, richtig?

 

D.h. es müsste im Desktop Webinterface an drei Stellen editierbar sein: Auf der Seite EPG-Suche, auf der Timer-Seite bzw. im Timer-Dialog und auf der Aufnahmen-Seite im Aufnahme-Dialog (-> Stiftsymbol). Und dann noch im Mobil-Webinterface an zwei Stellen (da gibt es keinen Aufnahme-Dialog). Bist du gut in HTML / Javascript?

 

Weiterhin müssen API und Aufnahmedatenbank um den zusätzlichen Parameter erweitert werden. Da kommt einiges zusammen ;)

 

47 minutes ago, BirdOfPrey said:

Dort kann man dann z.B. einen Tag angeben.

 

Wie? Absolut als Datum/Uhrzeit, oder relativ zum Aufnahmezeitpunkt (nach x Tagen/Stunden)?

 

Posted (edited)
vor 1 Stunde schrieb Griga:

D.h. das steht dann in der Suchvorgabe, überträgt sich auf die von der Suchvorgabe erzeugten Timer und von dort aus in die Aufnahmedatenbank, wenn die Aufnahme stattgefunden hat, richtig?

 

Ja, so ist meine Vorstellung.

 

Zitat

D.h. es müsste im Desktop Webinterface an drei Stellen editierbar sein: Auf der Seite EPG-Suche, auf der Timer-Seite bzw. im Timer-Dialog und auf der Aufnahmen-Seite im Aufnahme-Dialog (-> Stiftsymbol). Und dann noch im Mobil-Webinterface an zwei Stellen (da gibt es keinen Aufnahme-Dialog).

 

Ich benutze den DVB MediaServer jetzt erst wieder seit ein paar Tagen. Deswegen wirst du einen deutlich besseren Überblick haben, an welchen Stellen das integriert werden müsste. Das Mobil-Webinterface habe ich z.B. noch nie benutzt.

 

Zitat

Bist du gut in HTML / Javascript?

 

Da habe ich keinen blassen Schimmer von. 

 

Zitat

Weiterhin müssen API und Aufnahmedatenbank um den zusätzlichen Parameter erweitert werden. Da kommt einiges zusammen

 

Ich habe auch nicht die Erwartung, dass das "mal eben so Nebenbei" umgesetzt wird. Aber ggf. mal für das nächste größere Update drüber nachdenken. Ich vermute, das ist sowieso eine Funktion, die nicht von so vielen benutzt wird. Deswegen verstehe ich auch, sollte es nicht integriert werden.

 

Zitat

Wie? Absolut als Datum/Uhrzeit, oder relativ zum Aufnahmezeitpunkt (nach x Tagen/Stunden)?

 

Bei TVHeadend wird die Anzahl der Tage angegeben, die die Aufnahme behalten werden soll. Oder "ewig".

Alternativ könnte man auch Stunden nehmen oder zusätzlich zulassen. Zu kompliziert sollte es aber nicht werden.

 

Datum und Uhrzeit anzugeben, halte ich für verwirrend. Denn dann müsste man ja, um die Aufnahme x Tage aufzubewahren, sowas wie now() + 1 Tag angeben. Ich kann mir jetzt auch nicht vorstellen, wofür man ein konkretes Datum angeben sollte.

Edited by BirdOfPrey

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...