Jump to content
Timtam

Aufnahme auf externer Festplatte verschwindet

Recommended Posts

Timtam

Hallo,

folgendes Setup.

Ich habe mir vor einigen Tagen ein Windows Server 2016 auf einen UP Board Einplatinen-Computer installiert, welcher unter möglichst geringer Belastung meiner Stromrechnung beispielsweise die Aufgabe meiner TV-Verarbeitung übernehmen soll und das klappte bislang auch super.
Mittels GBit Lan im Netzwerk, kann ich über dieses kleine Maschinchen sogar UHD-Aufnahmen über das Netzwerk betrachten (Aufnahme muss ich noch testen).
Die Aufnahme erfolgt auf eine extern angeschlossene 2,5 Zoll 500 GB HDD (exFAT formatiert), da die UP Board Rechner einen fest eingebauten Speicher haben (in meinem Fall nur 32 GB, was einfach zu wenig ist).
Manchmal funktioniert dies, manchmal aber auch nicht, wie ich vorhin feststellen musste.

Gestern hatte ich den merkwürdigen Fall das, obwohl ich einen automatisch erzeugten Timer hatte, welcher als Aufnahmeordner "Auto" eingestellt hatte und ich in den Einstellungen des Servers ausschließlich den Aufnahmeordner "D:" eingetragen hatte, er trotzdem in den Videos Ordner im Öffentlich Profil aufgenommen hat. Das hatte mich verwirrt, denn dieses Aufnahmeziel existierte gar nicht mehr in meinen Einstellungen. Um dies zu verhindern, habe ich jetzt bei allen meinen Auto-Timern fest das Aufnahmeziel D:\ angegeben, um jegliche andere Möglichkeit auszuschließen.
Die nächste Aufnahme kam und... die Aufnahme fehlte einfach.
Im Webinterface des Servers steht, dass eine Aufnahme stattgefunden hat. Ein Klick darauf sagt mir, die Datei wäre 0,00 KB groß. In den Logs des Media Server selber nachgeschaut offenbart: er hat scheinbar aufgenommen (und 2,4 GB Daten abgegriffen) und diese vermutlich auch versucht wegzuschreiben, allerdings ohne Erfolg. Schon beim Erzeugen der aufnahme-spezifischen Log-Datei gab es einen Fehler, der so aussieht:
10.07.18 13:15:02.646 TRecordManager       AddRecording     EWideFCreateError at 004744E4: Datei "D:\2018-07-10_13-15-01_NICKELODEON HD (deu)_Beyblade Burst - Nachdem er vom weltbekannten, spanischen Beyblade.txt" kann nicht erstellt werden. Das System kann die angegebene Datei nicht finden.

Beim Beenden der Aufnahme hat er die Datei dann erstellt und hat noch ein paar letzte Informationen hineingeschrieben, die wie folgt aussehen:
[Stats]
Errors=0
Size=2,04 GB (2193045380 bytes)
Avr. Datarate=0,775 MB/s
Device=Professional DVB Digital TV DVB-S2

Trotzdem ist die Aufnahme hoffnungslos verloren, und ich frage mich, warum? Die externe Festplatte hat einen recht hohen Abschaltungszyklus (nach 5 oder 10 Minuten fährt sie schon runter). Kann es sein, dass der Server hier keine Zeit zum andrehen gibt und schon vorher versucht, auf sie wegzuschreiben, aber keine Antwort bekommt und daher gar nicht mehr weiter schreibt?

Ich habe die Support.zip mal angehängt, auch wenn ich nicht glaube, das es da noch viel mehr nützliche Informationen zu holen gibt.

Trotzdem, über Ideen und eine Rückmeldung würde ich mich freuen.

Mit freundlichen Grüßen.

Timtam

support.zip

Share this post


Link to post
Kellerassel

ist die usb-platte auch die ganze zeit im explorer zu sehen oder wird die verbindung einfach mal unterbrochen, z.b. um strom zu sparen. normalerweise gehen die aufnahmen einige sekunden nach dem hochfahren der platte los, zumindest meine erfahrungen, und dann fehlen halt je nach platte 10 sekunden oder so, bis die platte auf voller drehzahl ist. probier mal im gerätemanager für die usb ports die ernergieeinstellungen so zu stellen, das windows die geräte nicht in den standby schicken kann.

 

bzw wenn das nicht hilft, hat das board einen sata-anschluss? wenn ja, dann im schlimmsten fall auf den umsteigen, damit es funktioniert, ist zwar dann doof, aber es wird dann mit hoher wahrscheinlichkeit funktionieren.

Share this post


Link to post
Timtam
Posted (edited)

Huhu,

 

nein, die Platte ist immer zu sehen und springt bei versuchtem Zugriff auch sofort an. 10 Sekunden dauert das nicht einmal, da die 2,5 Zoll Platte ja i.d.R. nur so 3-4 Sekunden braucht. Um die paar Sekunden ist es mir auch nicht schade, ich habe immer 10 Minuten vor- und Nachlauf. Ich kann mal gucken, ob ich die Energiespareinstellungen so anpassen kann, allerdings kann es sein, dass die Platte selbst auch noch einen Energiesparwert gesetzt hat, da muss ich evtl. noch mit hdparm oder Ähnlichem ran... trotzdem glaube ich, dass es sich hier um einen generellen Fehler handeln könnte, der, wenn behoben, anderen Leuten wie mir Kopfzerbrechen sparen könnte.

 

Falls also noch irgendwelche Ideen vorliegen... ich habe hier jedenfalls schon von anderen Leuten gelesen, die ein ähnliches Setup wie ich nur unter Windows 10 laufen haben. Kann es sonst sein, dass Windows Server 2016 in den Energiespar-Optionen oder beim Verhalten mit externen Datenträgern irgendetwas anders macht als Windows 10?

 

Einen SATA-Anschluss hat das gute Stück leider nicht, daher fällt diese Option auch weg.

 

Mit freundlichen Grüßen.

 

Timtam

Edited by Timtam

Share this post


Link to post
Griga
3 hours ago, Timtam said:

Gestern hatte ich den merkwürdigen Fall das, obwohl ich einen automatisch erzeugten Timer hatte, welcher als Aufnahmeordner "Auto" eingestellt hatte und ich in den Einstellungen des Servers ausschließlich den Aufnahmeordner "D:" eingetragen hatte, er trotzdem in den Videos Ordner im Öffentlich Profil aufgenommen hat.

 

Vor dem Start einer Aufnahme versucht der DMS, in dem vorgesehenen Zielordner eine temporäre Test-Datei zu erzeugen. Falls das nicht gelingt, kommt der öffentliche Video-Ordner als Fallback zum Zuge. Den Mechanismus kannst du nicht unterbinden.

 

Rätselhaft ist der EWideFCreateError beim Erzeugen der EPG Info-Datei. Wenn der DMS so weit kommt, hat er zuvor schon erfolgreich auf D:\ geschrieben. Keine Ahnung, warum das dann plötzlich einen Fehler auslöst...

 

Share this post


Link to post
Timtam
Posted (edited)

Hallo,

 

noch interessanter scheint ja zu sein, dass er trotzdem weiter schreibt, die Datei aber nie auftaucht und auch am Ende nicht vorhanden ist. Kann dies eventuell etwas mit dem Dateisystem zutun haben? Die Festplatte ist in exFAT formatiert, nicht NTFS, wie es unter Windows vielleicht üblich wäre.

 

Falls ich irgendwie anderweitig aushelfen kann (Test spezifischer Debug-Versionen, erzeugen zusätzlicher Logs etc), bin ich gerne bereit dazu.

 

MfG.

 

Timtam

Edited by Timtam

Share this post


Link to post
Timtam

Huhu,

 

also, meine Erkenntnis: auch mehrere andere Aufnahmen wurden nicht erfolgreich durchgeführt, wenn die Festplatte schläft, wenn die Aufnahme startet. Wenn ich die Festplatte vorher manuell aufwecke läuft die Aufnahme problemlos an.

Ich vermute, dass die Windows API, welche hier ja vermutlich genutzt wird, um die Testdatei zu schreiben bzw. generell den Dateizugriff zu realisieren, unter Windows Server vielleicht marginal anders funktioniert und eventuell asynchron (?) funktioniert, oder zumindest nicht auf den Spin Up der Festplatte wartet? Ich kenne dafür zu wenig interne Sachen. Ich stehe allerdings gern als Testsubjekt zur Verfügung, sofern gewünscht ist, dafür einen fix zu finden.

 

MfG.

 

Timtam

Share this post


Link to post
Griga

Normalerweise muss eine Anwendung beim Aufruf des Windows API für das Erzeugen von Dateien warten, bis eine externe Platte angelaufen ist. Mit anderen Worten: Der Aufruf kehrt erst zurück, wenn der Befehl ausgeführt wurde, und die Anwendung ist währenddessen blockiert - es sei denn, sie wickelt die Sache in einem Hintergrundthread ab, was der DMS und DVBViewer jedoch nicht machen. Am besten mitverfolgen lässt es sich, wenn man mit dem DVBViewer eine (nicht an den DMS delegierte) Aufnahme auf ein "ruhendes" Laufwerk startet - bis es läuft, stellt sich das Programm bedienungsmäßig tot, so dass man z.B. das Fenster nicht verschieben kann.

 

Ein Versuch mit dem DMS und einer ruhenden externen Platte unter Windows 7 zeigte hier das erwartete Verhalten. Warum es bei dir anders ist, weiß ich nicht. Ich denke nicht, dass sich das Problem im DMS lösen lässt. Ich würde erst mal probieren, wie es sich mit anderen Programmen verhält, die ein richtiges UI haben.

 

Share this post


Link to post
Timtam

Huhu,

 

alles klar. Hast du einen Vorschlag, mit welchem Programm ich das ganze reproduzieren kann? DVBViewer selbst ist ja an sich gut, dafür muss ich ihn nur wieder vom Media Server entkoppeln, oder meinst du es reicht schon, manuell eine spontane Aufnahme über den DVBViewer, der mit dem DMS gekoppelt ist, anzustoßen?

Ich überlege derzeit schon, dem Problem einfach mit einem ruhenden externen Datenträger (bspw. externe SSD) zu umgehen ;).

 

Das die Windows API standardmäßig Synchron ist weiß ich, ich habe schon häufiger mit ihr gearbeitet, aber ich weiß eben auch, das bspw. WriteFile Flags für asynchrone Operationen hat, und ich hätte mir vorstellen können, dass die Interna bei Server-Betriebssystemen diese vielleicht als Standard anlegen, um den Server nicht zu blockieren, während ein Dateizugriff in der Warteschlange hängt, daher meine Rückfrage.

 

MfG.

 

Timtam

Share this post


Link to post
Griga
6 minutes ago, Timtam said:

dafür muss ich ihn nur wieder vom Media Server entkoppeln,

 

Zeitweilig Haken weg bei Optionen -> DVBViewer Media Server -> Unterstützung für den DMS aktivieren sollte reichen.

 

9 minutes ago, Timtam said:

ich weiß eben auch, das bspw. WriteFile Flags für asynchrone Operationen hat, und ich hätte mir vorstellen können, dass die Interna bei Server-Betriebssystemen diese vielleicht als Standard anlegen, um den Server nicht zu blockieren, während ein Dateizugriff in der Warteschlange hängt

 

Von einer solchen Richtlinie ist bislang nichts bekannt bzw. wurde nicht von anderen Benutzern eines Server-OS gemeldet. Das Setzen der Flags ist eindeutig Sache der Anwendung. Ist bei dir der Schreibcache für das Laufwerk aktiviert? Ich habe hier für meine externe Platte unter Windows7 eine entsprechende Checkbox im Gerätemanager -> Eigenschaften des Laufwerks.

 

  • Like 1

Share this post


Link to post
Timtam

Huhu,

 

ja, ich könnte den Cache aktivieren, derzeit steht er aber auf "Schnelles Entfernen" und der Schreibcache ist entsprechend deaktiviert.

 

MfG.

 

Timtam

Share this post


Link to post
Timtam

Huhu,

 

also, heute Abend (DHL Evening Express + Amazon sei Dank) eine neue externe SSD eingetroffen, spontane Aufnahme via DVBViewer lief einwandfrei. Habe jetzt über Nacht ein paar Timer drin und werde sehen, ob morgen alle Aufnahmen an Bord sind.

MfG.

Timtam

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×