Skip to main content
Home  › ... Service › Forum
schuetzengott
14 years ago


Hallo Jochen,



da mein Mainboard nach 8 Jahren den Geist aufgegeben hat und ich nun auf neue HW umziehen musste, habe ich mir im Aktualisierungswahn eine SSD gegönnt.



Somit sind nun die Propeller die einzigen beweglichen Teile im Gehäuse ...



 



Kann man DVB.NET / VCR.NET dazu bewegen, größere Datenblöcke im Arbeitsspeicher zu behalten und dann bei erreichen einer einstellbaren Grenze, alles in einem Rutsch auf die SSD zu schreiben?



Somit würden die Schreibzugriffe reduziert, was bei einer SSD ja der Knackpunkt ist.



 



Ich setze zur Zeit das aktuelle Build zusammen mit Win XP Home SP3 ein. (4 GB Arbeitsspeicher).



 



Ideal wäre ein Wert zwischen 1,5 bis 2 GB im Arbeitsspeicher zu halten. (Vielleicht lässt sich der Wert ja als Zahl eingeben / oder als Auswahlfeld mit 256er Teilung ....)



 



Gruß,



Holger


JMS
  • JMS
  • 100% (Exalted)
  • Advanced Member
14 years ago


Hi Holger,



grundsätzlich ja, praktisch hat das möglicherweise einige Nachteile. Zurzeit werden 10 MB Blöcke geschrieben. Ich habe immer parallel ein Live Demux mit ProjectX laufen, da ich eh alles nachbearbeite. Der dort verwendete einfache Mechanismus (Mini-FTP Server FTPWrap) erwartet zum Beispiel, dass sich in einem gewissen Zeitrahmen (hm, 30 Sekunden glaube ich) was tut, sonst hört der auf. Darum kann man mit VCR.NET auch kein Live Demux von Radioaufzeichnungen machen: die Bitrate ist zu klein.



Ok, das ist für Deine Frage egal, da man es ja einstellen können soll, warum labere ich also herum? Nun, ich bin mir nicht sicher, ob interne Mechanismen nicht auch auf die Dateigröße gehen um zum Beispiel zu erkennen, ob keine Daten mehr kommen (Abbruch des Stroms bei Gewitter). Ich vermute zwar, dass hier die tatsächlich Eingangsrate verwendet wird, muss das aber prüfen.



Ich habe mir das einmal für's Wochenende vorgemerkt. Wenn es keine Probleme machen sollte, könnte ich das noch ins aktuelle SP2 packen (gut, dass ich so faul bin...).



Tschüss



Jochen



 



PS: Wo wir einmal dabei sind: hast Du nicht eine TT S2-3200 und CI/CAM? Ein Grund, warum ich mich nicht traue, SP2 zu zu machen ist, dass ich im CI Protokoll etwas geändert habe und das nicht für die Budget verifizieren konnte. Ich will ja auch keine Bestandskunden vergraulen, gelle 😠 Geht es bei Dir mit der SP2 Beta?


schuetzengott
14 years ago


Hallo Jochen,



 



ich warte momentan noch auf die Grafikkarte - ich habe bisher 2x eine falsche geliefert bekommen.



Ich brauche zwingend einen TV-Out, da ich noch ein Röhren-TV einsetze.



Bei den gelieferten Karten wurde dieser allerdings durch einen HDMI ersetzt, entgegen der Beschreibung des Herstellers.



 



Mit ein wenig Glück bekomme ich nun aber die richtige Karte bis zum Ende der Woche und werde dann umgehend in die Testphase einsteigen.



 



Klar könnte ich jetzt auch schon eine Versuchsreihe starten, aber es ein wenig mühselig den HTPC in die HiFi-Anlage zu integrieren und dann wieder zum Einbau der Grafikkarte rauszubauen - ich wollte mir einen "Durchgang" ersparen.



 



Sobald ich Ergebnisse habe, schicke ich dir nen E-Mail.



 



Gruß und schönen Abend,



Holger


JMS
  • JMS
  • 100% (Exalted)
  • Advanced Member
14 years ago


Super, Danke!



Ich habe schon mal vorrecherchiert: ganz trivial wird das nicht. Aber ich denke, ich könnte da relativ zeitnah was machen.



Jochen


JMS
  • JMS
  • 100% (Exalted)
  • Advanced Member
14 years ago


Ich habe das mal in die aktuelle, noch nicht freigegebene Version von 3.9 SP2 übernommen - nennt sich SP2 RC3. Wenn Du das ausprobieren willst, musst Du ALLE DVB.NET / VCR.NET Installationen auf RC3 aktualisieren, sonst läuft VCR.NET nicht mehr richtig. I.e Deinstallieren von VCR.NET, Viewer, Tools, Server, Core und Installation RC3 in umgekehrter Reihenfolge.



Die neue Funktionalität ist nicht über die Oberfläche konfigurierbar. Ohne Änderung bleibt alles wie gehabt, die Buffergröße ist tatsächlich 2 MB (nicht 10, wie ich bisher dachte).



Nun der Teil für Dich: VCR.NET stoppen und die Konfigurationsdatei (im bin Unterverzeichnis des Installationsverzeichnisses) JMS.DVBVCR.RecordingService.exe.config editeren. Dabei etwas Sorgfalt walten lassen, sonst startet VCR.NET nicht mehr - es handelt sich um eine XML Datei. Die letzten drei Einträge (TS*BufferSize) sind die von Dir gewünschten Einstellungen. Die Voreinstellung 0 bedeutet, dass alles bleibt wie es war. Ansonsten kannst Du hier die Größe des Buffers in Bytes (!! nicht Kilobytes, nicht Megabytes !!) einstellen, der kleinste erlaubte Wert ist 1000. Die Angabe darf nur aus Ziffern bestehen, also kein 15.000.000 oder so was. Es wäre dann Deine Aufgabe zu prüfen, ob bei zu großen Werten kein Abbruch der Aufzeichnung erfolgt, weil VCR.NET denkt, es kommt nichts mehr - wenn ich dazu komme, mache ich das selbst, habe im Moment aber nur die Funktionalität an sich geprüft.



Wenn VCR.NET startet und alles zu Deiner Zufriedenheit läuft, solltest Du die Konfigurationsdatei JMS.DVBVCR.RecordingService.exe.config zusätzlich über die Sicherungskopie JMS.DVBVCR.RecordingService.exe.config.cpy legen. Damit ist dann sichergestellt, dass Deine Einstellung auch nach einer Neuinstallation nicht verloren geht - es sei denn, Du installierst eine ältere Version. Vergisst Du diesen Schritt, musst Du die Änderung nach der nächsten Installation halt noch einmal machen.



Viel Glück und laß' Dir Zeit - die anderen Dinge gehen vor!



Jochen


JMS
  • JMS
  • 100% (Exalted)
  • Advanced Member
14 years ago


Zur Information: also schon 10 MB verträgt sich nicht mit dem Live Demux, das bricht dann vorzeitig ab. Das ist zwar völlig unkritisch, aber lästig, ich habe bei mir die Zahlen auf 0 zurück gestellt - an den FTPWrap wollte ich nicht mehr ran. Und: beobachtet man die Dateizugriffe im Process Monitor (SysInternal), so sieht man, dass immer in 256 kByte Blöcken geschrieben wird. Das machen aber Betriebssystem / Treiber, wie ich durch ein C++ Programm und direktem Zugriff auf die Win32 API Funktion WriteFile feststellen konnte.



Jochen


schuetzengott
14 years ago


So,



 



ich bin nun dazu gekommen, einen Testrun zu starten:



Vorerst habe ich den Writepuffer auf 536870912 (512MB) bei allen drei Werten gesetzt.



Bis Morgen Abend laufen 3 Aufnahmen ... anschließend wissen wir, ob es funktioniert .... Falls es geht, wird die nächste Testgröße 1GB , dann 1,5GB sein



 



Ich habe ca. 2800 MB freien Ram - bis zu welcher Puffergröße macht es Sinn den Wert zu vergrößern?



Werden die 3 Werte addiert oder immer nur 2 (HD und Audio / SD und Audio) oder weshalb sind da drei Werte?



 



 



Gruß,



Holger



 



EDIT:



Die erste Aufnahme mit dem Puffer  von 512MB lief reibungslos durch - war vom ÖR-Programm, d.h. ordentlich hohe Datenrate ...



Morgen kommt dann noch mal ÖR und abends dann vom Privaten, je nach verlauf werd ich dann den Puffer erhöhen.

JMS
  • JMS
  • 100% (Exalted)
  • Advanced Member
14 years ago


Abhängig von der Art der Aufnahme wird einer der drei Puffer verwendet. Dieser allerdings dann zweimal (! Double Buffering zur Entkoppelung der Aufzeichnung von den Schreiboperationen !). Darum ist äußerste Vorsicht bei der Größe geboten. Zudem VCR.NET ein 32 Bit Programm ist und maximal 2 GB addressieren kann (ich meine, ich hätte die 3 GB Option nicht aktiviert). Ich würde an Deiner Stelle die Finger von Werten oberhalb von 512 MB lassen. Bei parallelen Aufzeichnung kann das noch kritischer sein - bitte mal in Dich gehen! Selbst bei einer Bitrate von 7 MBit/s würde es immerhin 100 Sekunden dauern, bis geschrieben wird - reicht das nicht schon?



Jochen


schuetzengott
14 years ago


So, es ist mal wieder Zeit für eine kleine Rückmeldung:



 



Ein Puffer von 512MB funktioniert wunderbar - es wird ca. alle 10min etwas auf die SSD geschrieben (bei SD-TV) / HDTV hab ich noch nicht getestet.



EIn weiterer Versuch mit 768MB Puffer wurde sofort abgebrochen und das System ging nach 5min (wie eingestellt) in den Standby.



Wenn ich 512MB verwende hab ich bei maximalem Puffer noch ca. 1400 MB Ram frei - also noch locker ausreichend für ein 32bit XP.



 



BTW: Ich hab in dem anderen Thread was gelesen von .Net 4.0 - entwickelst du dann parallel für 32 und 64bit, oder nur noch 64bit?



.Net 4.0 ist übrigens installiert .... - ich könnte wohl testen.



 



Gruß,



Holger

JMS
  • JMS
  • 100% (Exalted)
  • Advanced Member
14 years ago


Das sind doch mal gute Nachrichten!



 



Nein, für DVB.NET und VCR.NET ist .NET 4.0 nicht in Planung. Leider ist meine Zeit so knapp geworden, dass ich gar nicht weiß, ob es überhaupt noch grosse Releases geben wird - und Microsoft hat bestimmt einige Schweinereien nicht dokumentiert :-"  



Aber der Fehler in dem anderen Thread könnte dazu führen, dass ab SP2 der VCR.NET Dienst als 64 Bit Anwendung läuft. Das ist aber nicht ganz trivial (nicht die Umstellung, das ist nur eim Schalter) und ich muss mir das ziemlich sorgfältig überlegen. Es kann zudem sein, dass ich dann zwei Setups brauche, das wäre ein K.O. Kriterium. Und ich selbst kann es nicht testen!



Ciao



Jochen



 



PS: Bekomme leider immer noch keine E-Mail vom Forum, versuche aber längstens im Tagesrhythmus reinzuschauen.


JMS
  • JMS
  • 100% (Exalted)
  • Advanced Member
14 years ago




So, es ist mal wieder Zeit für eine kleine Rückmeldung:



 



Ein Puffer von 512MB funktioniert wunderbar - es wird ca. alle 10min etwas auf die SSD geschrieben (bei SD-TV) / HDTV hab ich noch nicht getestet.



EIn weiterer Versuch mit 768MB Puffer wurde sofort abgebrochen und das System ging nach 5min (wie eingestellt) in den Standby.



Wenn ich 512MB verwende hab ich bei maximalem Puffer noch ca. 1400 MB Ram frei - also noch locker ausreichend für ein 32bit XP.



 



BTW: Ich hab in dem anderen Thread was gelesen von .Net 4.0 - entwickelst du dann parallel für 32 und 64bit, oder nur noch 64bit?



.Net 4.0 ist übrigens installiert .... - ich könnte wohl testen.



 



Gruß,



Holger



Originally Posted by: schuetzengott 



Mach' trotzdem mal eine Mehrkanalaufzeichnung - ich befürchte schon 2 parallele (Pro7 / Kabel1 / Sat.1) werden schon knallen, da durch das Double Buffering 4 x 512 MB benötigt würden. Ich könnte theoretisch die betroffene Komponente (Card Server) auf 3 GB patchen, aber dann könnte es instabil werden - nicht alle Trieber mögen negative Adressen und wie es im DirectShow / BDA Umfeld da aussieht kann ich nicht sagen.



Jochen


Users browsing this topic