Jump to content

TimeshiftPlus Plugin, erweiterte Timeshift Funktionalität (Ringpuffer)


erwin

Recommended Posts

Ich werde mir das nochmal genauer anschauen. Es war mehr kanalabhängig. Bei ATV hatte ich zum Beispiel meist ein Aussetzen des Tons nach pause/springen. Hab leider nicht geschaut, was im DVBSource passiert. Bei ProSieben schien es keine Probleme zu geben. Unterschiede zwischen ATV und ProSieben sind Tonspur (MPEG Layer 2 bzw. AC3) und die Tatsache, dass ATV verschlüsselt ist, also wohl ein etwas anderes Timing hat. Aber eine wirklich konkrete Aussage kann ich noch nicht treffen. Dazu habe ich zu wenig getestet.

Bei ORF 1 HD hatte ich meist ein Standbild, wenn ich von Pause nach Play wechselte oder mit dem Time-Slider sprang (dafür aber Ton). Auch ORF 1 HD ist verschlüsselt. Das müsste ich dann auch noch mit anderen (unverschlüsselten) HD-Sendern (e.g. arte HD) verifizieren. Auch hier fehlen mir im Moment noch Resultate. Aber ich habe wie gesagt schnell aufgegeben, weil ich mit den Einstellungen nicht wirklich spielen konnte.

 

Beides konnte ich mit der alten Version des Plugins, welches ich noch gegengetestet habe, nicht nachvollziehen.

Super! Spitzenanalyse! Du bist wirklich ein sehr guter Tester. Findet man selten das neben der eigentlichen Fehleranzeige auch noch Differenzdiagnosen erstellt werden.

 

Was die Verschlüsselung angeht, kann ich sowas nicht testen und werde es wahrscheinlich auch in naher Zukunft nicht können. Wenn Du mit Deiner Annahme "etwas anderes Timing" recht hast, wirds wohl schwer für mich. Seltsam das die Vorgängerversion hier mitspielte. Aber wenns das Timing ist, warum dann gerade wenn man aus PAUSE kommt? Beobachte mal bitte auch die CPU-Auslastung. HD+Entschlüsselung+Plugin-Processing könnte wenn 100% erreicht werden zumindest Aussetzer/Standbilder erklären (und in der Tat laufen in dieser Version neue Behandlungen im Vergleich zur Vorgängerversion welche die Auslastung hochtreiben können).

 

mfg erwin

Link to comment
Aber wenns das Timing ist, warum dann gerade wenn man aus PAUSE kommt?

Stimmt, ist eigentlich unlogisch. Im Buffer ist ja alles unverschlüsselt und eben gepuffert, mit CI-Timings hat das dann nichts mehr zu tun.

 

HD+Entschlüsselung+Plugin-Processing könnte wenn 100% erreicht werden zumindest Aussetzer/Standbilder erklären

Möchte ich eigentlich auch ausschließen. H.264 Dekodierung macht vollständig die Grafikkarte, Entschlüsselung das CI-Modul und mit dem ganzen Rest komme ich auf keine 10%. Aber ich werde auch da nochmals ein Auge drauf werfen.

 

Aber ich muss mit den Einstellungen flexibler sein. Weil die Probleme hatte ich nicht immer, sprich es schien mir einstellungsabhängig zu sein (obige Aussagen treffen auf Defaulteinstellungen zu, welche aber dennoch mit der alten Version problemlos laufen). Aber ich kann keine konkrete Aussage treffen, weil ich mir nicht sicher bin, welche Einstellungen das Plugin wann verwendet hat, welche hartkodiert sind usw. Deshalb würde ich vorschlagen, dass du das erstmal fixt. Anschließend kann ich dann vernünftig testen.

 

Ich werde dann auch noch meine DVBSource-Einstellungen (evtl. spielt die Latency eine Rolle) und den Filter-Graph mitposten...

Edited by CiNcH
Link to comment
Aber ich muss mit den Einstellungen flexibler sein. Weil die Probleme hatte ich nicht immer, sprich es schien mir einstellungsabhängig zu sein (obige Aussagen treffen auf Defaulteinstellungen zu, welche aber dennoch mit der alten Version problemlos laufen). Aber ich kann keine konkrete Aussage treffen, weil ich mir nicht sicher bin, welche Einstellungen das Plugin wann verwendet hat, welche hartkodiert sind usw. Deshalb würde ich vorschlagen, dass du das erstmal fixt. Anschließend kann ich dann vernünftig testen.

Ah so langsam komme ich auf den Trichter. Du hast bisher immer einen größeren Wert für die Dummy-Zone gehabt als die Defaults. 64KB sind selbstverständlich für HD viel zu klein. Viel zu kleine Dummy-Zone+ PAUSE kann dann schnell zu Aussetzern führen. Unabhängig von der Version jetzt mal. PAUSE forciert das Auflaufen des Write-Pointers auf den Read-Pointer (der ja während der PAUSE nicht weiterläuft). Nach Wiederaufnahme von Play sind dann Read-Pointer und Write-Pointer nur noch durch die viel zu kleine Dummy-Zone getrennt.

 

Neue Version folgt sofort.

 

mfg erwin

Link to comment
Hast du denn die Möglichkeit, S2 bzw. HD zu empfangen? Ich würde dir sonst mit einem S2-Empfänger unter die Arme greifen...

Ja hab ich. Danke für das Angebot.

 

mfg erwin

Link to comment

Mal eine Frage: Kann man eigentlich eine Art Schnellaufnahme machen, also ab dem Punkt, zu dem man zurückspringt, bis zur Live-Position den Timeshift-Inhalt in eine Datei kopieren, oder geht das generell nur in Laufzeit? Also muß man den Teil, den man aufnehmen will, dabei 1:1 anschauen?

 

Die Verwendung von Timeshift hat ja offensichtlich den Nachteil, daß man keinen Senderwechsel mehr vornehmen kann, selbst wenn man zwei Tuner zur Auswahl hat.

Link to comment
Mal eine Frage: Kann man eigentlich eine Art Schnellaufnahme machen, also ab dem Punkt, zu dem man zurückspringt, bis zur Live-Position den Timeshift-Inhalt in eine Datei kopieren

Die neue Timeshift-Aufnahme-Funktion macht das genau so..

 

Eine Timeshift Aufnahme ist eine spezielle Form der Sofortaufnahme. Sie wandelt die Timeshiftdaten ab der aktuell angezeigten Position in eine „normale" Aufnahme um. Ausnahme: Wenn die aktuelle Timeshift Position = LiveTV ist, wird eine normale Sofortaufnahme gestartet.

 

  • Die Umwandlung geschieht so schnell wie möglich, bis sie das Ende des Timeshift Puffers erreicht. Wenn das Ende erreicht ist, werden die Daten umgewandelt, sobald sie eintreffen.
     
  • Es handelt sich um einen echten Timer, alle Aufnahme Einstellungen wirken sich auf ihn aus. Ausnahme: Nur die Aktuelle Audiospur wird aufgenommen (da Timeshift nur die aktuelle Audiospur verwendet).
     
  • Wenn Timeshift beendet wird, wird auch die Timeshift Aufnahme beendet.
     
  • Wenn eine Timeshift Aufnahme aktiv ist, wird bei einer Senderumschaltung gewarnt, auch wenn dies in den Optionen deaktiviert ist. Sender umschalten stoppt Timeshift und damit auch die Timeshift Aufnahme.
     
  • Wenn vorhanden, werden die EPG Daten, die der Timeshift Zeit entsprechen, für die Aufnahme benutzt.
     
  • Das Sofortaufnahme Popup Menü funktioniert auch bei Timeshift Aufnahmen. Achtung: Die Zeiten beziehen sich auf die aktuelle Zeit nicht auf die Timeshift Zeit.
     
  • Die Timeshift Timer sind in allen Timerlisten sichtbar.
     
  • Die Timeshift Timer werden niemals in die timers.xml gespeichert.

Edited by CiNcH
Link to comment
Die Verwendung von Timeshift hat ja offensichtlich den Nachteil, daß man keinen Senderwechsel mehr vornehmen kann, selbst wenn man zwei Tuner zur Auswahl hat.

Das dürfte nur dann kritisch sein, wenn man eine Aufnahme aus dem Timeshift-Puffer am Laufen hat.

Link to comment
Die Verwendung von Timeshift hat ja offensichtlich den Nachteil, daß man keinen Senderwechsel mehr vornehmen kann, selbst wenn man zwei Tuner zur Auswahl hat.

In der von mir ursprünglich konzipierten (jetzt aber doch wieder entfernten) Aufnahmefunktionalität würde das Umschalten während der rückwirkenden Aufnahme sogar klappen. Es kann ja in TimeshiftPlus kanalübergreifend "getimeshifted" werden. Und sogar wenn "empty buffer on channel change" gesetzt ist funktioniert dies da "empty buffer on channel change" den Puffer nicht wirklich leert sondern nur die Pointer resetet. Die Daten sind noch da zumindest für eine RingBuffer-Periode und da beim Recorden schneller ausgelesen wird als der Write-Pointer nachschiebt sollte es keine Problemem geben. Mal sehen wie sich dieses Spezialthema weiterentwickelt. Werde die "alten" Sourcen erstmal nicht schreddern.

 

 

mfg erwin

Link to comment
Das dürfte nur dann kritisch sein, wenn man eine Aufnahme aus dem Timeshift-Puffer am Laufen hat.

Tja rein theoretisch, wer weiß. Fakt ist, dass es momentan so gar nicht geht.

Wenn man während Timeshiftrecording unbedingt umschalten muss/will kann man höchstens (nachdem der Buffer ausgeräumt ist) eine zweite (Live-)Aufnahme starten und beruhigt beim Umschalten die erste Aufnahme abwürgen. Hat den entscheidenden Nachteil, dass hier dann händisch zusammengenäht werden müsste.

 

mfg tc

Link to comment
Tja rein theoretisch, wer weiß. Fakt ist, dass es momentan so gar nicht geht.

Ich würde das jetzt erstmal nicht so kritisch sehen. Warten wir mal die nächsten DVBV-Versionen ab. Bis zur 4.2.1.0 war es so, dass die Wahl eines neuen Kanals die Timeshiftdatei geschlossen hat - und man damit auch keinen lesenden Zugriff mehr auf diese hat (war ja bis dahin auch nicht notwendig). Solange man an diese Codeabschnitte nicht herangeht, haben wir halt den momentanen Stand. Wer weiß, vielleicht war es nur purer Zeitmangel der DVBV-Entwickler hier (noch) nichts ändern zu wollen. Einen zwingenden Hinderungsgrund dass die Recordingdatei zumindest bis zum Ende der Timeshiftdatei weitergeschrieben wird, sehe ich eigentlich nicht.

 

 

EDIT

Also falls der Eindruck besteht dass man _gar nicht_ umschalten kann, dass steht in den Release-Notes so nicht. Das Problem ist doch eher dass man nicht weiss ob die rückwirkende Aufnahme bereits im Livemodus aufzeichnet und man seine Aufnahme im Kasten hat. Hier wäre eine optische Progressanzeige sinnvoll, vielleicht als Hintergundfarbe des Timesliders.

 

 

 

mfg erwin

Edited by erwin
Link to comment

Die Timeshiftdatei zu schließen bedeutet bei Aufnahme aus der DVB-File-Ressource leider eben auch den Abbruch der gesamten Aufnahme. Das ist rein vom Konzept quasi zwangsläufig und nichtsdestotrotz ärgerlich. Das Recordingfile bis zum Ende der Timeshiftdatei wegzuschreiben bringt schließlich immer noch nicht die Möglichkeit während der Aufnahme umschalten zu können.

Lasse mich natürlich gern eines Besseren belehren, wage aber zu bezweifeln, dass hier in absehbarer Zeit eine revolutionäre Änderung kommt. Es wäre ja notwendig die Aufnahme von DVB-File auf eine Tuner-Ressource umzurouten.

 

mfg tc

Link to comment

Das war jetzt eine Menge Input...

 

Fragen:

 

Kann ich eine Aufnahme von einer früheren Timerposition starten udn anschließend den Schieber gleich wieder auf Live-TV setzen - und die Aufnahme geht trotzdem vom Timerpunkt an ohne Sprung los und läuft bis zum Ende durch?

 

Woran erkenne ich, ab wann eine Aufnahme aus dem Livestream und nicht mehr aus dem Timeshiftpuffer erfolgt?

 

Und noch was - wie kann ich unterbrechungsfrei eine neue Aufnahme starten? Ich dachte ja eigentlich, daß der Punkt "starte neu" in dem neuen Aufklappmenü der Aufnahmetaste genau das tut. Aber ich staunte nicht schlecht, als ich nachher im Aufnahmeverzeichnis nur die zweite Aufnahme fand - die erste war gelöscht worden.

 

 

Und noch ein Lob zum Schluß: Den Ringpuffer find ich richtig toll! So toll, daß ich mir heute noch 4GB RAM bestellt habe. Der nützt mir zwar erst mal wenig, da von den 4GB nur 3 zu sehen sind, aber ab Ende Oktober hab ich dann volle 8GB, von denen ich die Hälfte locker an den Ringpuffer übergeben kann.

Mir ist es nämlich gestern abend passiert, daß ich dank Timeshift erst mal in Ruhe gegessen habe, um dann den Film von vorn anzusehen (ohne Aufzeichnung). Leider waren die 1GB etwas zu knapp bemessen. Das Ende des Timeshiftpuffers überholte die Wiedergabeposition. Jedenfalls glaube ich das, da es Aussetzer gab und ich dann mit dem Schieber nicht mehr so weit zurück konnte, wie ich vorher war.

Link to comment
Das Recordingfile bis zum Ende der Timeshiftdatei wegzuschreiben bringt schließlich immer noch nicht die Möglichkeit während der Aufnahme umschalten zu können.

... aber immerhin die Gewissheit das was ich gesehen habe oder das was ich in Timeshift sehen könnte sicher im Kasten zu haben. Das noch nicht gesehene weiter aufzuzeichnen obwohl man den Kanal wechselt, das ist dann das größere Problem

 

 

mfg erwin

Link to comment
Kann ich eine Aufnahme von einer früheren Timerposition starten und anschließend den Schieber gleich wieder auf Live-TV setzen - und die Aufnahme geht trotzdem vom Timerpunkt an ohne Sprung los und läuft bis zum Ende durch?

Ja

 

Woran erkenne ich, ab wann eine Aufnahme aus dem Livestream und nicht mehr aus dem Timeshiftpuffer erfolgt?

Wie tabbycat schon geschrieben hat die gesamte Aufnahme erfolgt aus der Timschift Datei.

 

Und noch was - wie kann ich unterbrechungsfrei eine neue Aufnahme starten?

Unterbrechungsfrei wird schwierig. Du mühtest einfach eine Timer Aufnahme starten und das dan nachher zusammen schneiden.

Link to comment
Wie tabbycat schon geschrieben hat die gesamte Aufnahme erfolgt aus der Timschift Datei.

 

Ok, aber die Aufnahme soll doch, wenn ich das richtig verstanden habe, beschleunigt erfolgen, so daß irgendwann der Punkt erreicht ist, an dem sie den Live-Punkt erreicht hat? Vor allem, wenn man nach dem Start der Aufnahme von einem Timeshift-Punkt aus wieder ins LiveTV wechselt. Die Frage ist nun, woran ich diesen Punkt erkenne?

Und in dem Zusammenhang auch, wan ich die Aufnahme anhalten kann. Starte ich nämlich im Timeshift und gehe ins Livebild und stoppe, wenn der Film vorbei ist - stoppt dann die Aufnahme an der Live-Position oder dort, wo in dem Moment gerade die Timeshift-Aufnahme ist?

 

Unterbrechungsfrei wird schwierig. Du mühtest einfach eine Timer Aufnahme starten und das dan nachher zusammen schneiden.

Kann ich denn zwei Aufnahmen vom gleichen Sender starten? Erst Timeshift und dann Livestream? Oder funktioniert das umgekehrt: Ich starte eine Live-Aufnahme und gehe anschließend mit dem Schieber zurück und starte zusätzlich die Timeshift-Aufnahme? Das geht aber eigentlich beides nicht weil die Aufnahmetaste gedrückt bleibt. Drücke ich DANN drauf, kann ich die Aufnahme nur stoppen.

 

Das verstehe ich einfach (noch?) nicht.

 

"Zusammenbasteln" könnte ich ja höchstens zwei Dateien. Also wenn ich zB. die Timeshift-Datei behalte und zusätzlich eine Live-Aufnahme mache. Das ist aber hinfällig, wenn ich den Ringpuffer verwende, weil dann keine Timeshift-Datei entsteht. Das Material liegt im RAM oder in der Swap.

Edited by Klassikfan
Link to comment

Das Springen per Time-Slider oder Jump+/- ist nicht wirklich stabil. Aber das Problem ist wahrscheinlich, dass ich nicht lange gewartet habe, somit noch nicht viel gepuffert war und die Wahrscheinlichkeit von Kollisionen recht groß ist? Jedenfalls werde ich dann beim Setzen des Sliders oft wieder ans Ende gesetzt. Oft erscheint nach Positionieren des Sliders auch das Jump-OSD '+00:10', es wird also automatisch ein Jump durchgeführt. (Timeshift.ini ist weiter unten)

 

---

 

Das Problem bei HD habe ich noch. Auch mit arte HD und Anixe HD. Hier mal ein paar Informationen:

 

DVBSource.ini:

[Params]
udMaxTVRadioMS=0
udMaxFileMS=200
udLatency=200
udH264Latency=300
CheckTimeStamps=1
UseDVBClock=1
PCRDelta=10
H264Aspect=0

 

Timeshift.ini:

[TIMESHIFT]
MODE=1
SIZE=1024
RESERVE=1024
RESET=1
MEMORY=0

 

CPU-Last ist niedrig. Im DVBSource kommt es zu Discontinuities, Videostream ist nicht mehr vorhanden, Audio schon:

 

tsplus_hd.jpg

Edited by CiNcH
Link to comment
Ok, aber die Aufnahme soll doch, wenn ich das richtig verstanden habe, beschleunigt erfolgen, so daß irgendwann der Punkt erreicht ist, an dem sie den Live-Punkt erreicht hat?

Ja, wie lange das dauert hängt von der Geschwindigkeit der Festplatte ab und wie viele Daten in die Aufnahme Datei geschrieben werden müssen.

 

Die benötigte Zeit dürfte sich in dem Rahmen bewegen wie das Kopieren einer gleich großen Datei im Explorer.

 

Die Frage ist nun, woran ich diesen Punkt erkenne?

Einen konkreten Indikator gibt es da glaube ich nicht.

 

Starte ich nämlich im Timeshift und gehe ins Livebild und stoppe, wenn der Film vorbei ist - stoppt dann die Aufnahme an der Live-Position oder dort, wo in dem Moment gerade die Timeshift-Aufnahme ist?

Sicher kann ich das nicht sagen, das habe ich noch nicht direkt ausprobiert. Wenn du aber aus dem Menü beim beenden 5 Min. auswählst beziet sich das auch jeden Fall auf die Live wiedergabe.

 

Kann ich denn zwei Aufnahmen vom gleichen Sender starten?

Mit Timer Aufnahmen ist das kein Problem. Nur zwei Sofortaufnahmen gehen nicht.

 

 

 

"Zusammenbasteln" könnte ich ja höchstens zwei Dateien. Also wenn ich zB. die Timeshift-Datei behalte und zusätzlich eine Live-Aufnahme mache.

 

Das ist aber hinfällig, wenn ich den Ringpuffer verwende, weil dann keine Timeshift-Datei entsteht. Das Material liegt im RAM oder in der Swap.
Das bekommst du da ja über die Timschift Aufnahme raus.
Link to comment

Da stimmt was ganz und gar nicht beim Springen. Vorher bin ich auf Pause gegangen und als ich dann wieder die Wiedergabe gestartet habe, war ich plötzlich irgendwo in der Vergangenheit, wo ich vorher glaub mal hingesprungen bin :) . Wenn ich dann wieder Pause drücke lande ich anschließend bei der Wiedergabe immer wieder an derselben Stelle in der Vergangenheit. Der Slider-Bereich scheint irgendwie nicht mit der zeitlichen Videoabfolge übereinzustimmen. Komplett wirres Verhalten bei mir...

 

Schau dir mal Kanäle mit kleinen Datenraten an, e.g. DMAX, und gleich mal zu Beginn, also nicht lange puffern lassen.

Edited by CiNcH
Link to comment
Das Problem bei HD habe ich noch. Auch mit arte HD und Anixe HD.

Meine Schuld. Tut mir leid für Euren Aufwand. Ich hatte eine Version hochgeladen bei der HD für Testzwecke disabled war.

 

Das Springen per Time-Slider oder Jump+/- ist nicht wirklich stabil.

 

Da stimmt was ganz und gar nicht beim Springen. Vorher bin ich auf Pause gegangen und als ich dann wieder die Wiedergabe gestartet habe, war ich plötzlich irgendwo in der Vergangenheit, wo ich vorher glaub mal hingesprungen bin wacko.gif . Wenn ich dann wieder Pause drücke lande ich anschließend bei der Wiedergabe immer wieder an derselben Stelle in der Vergangenheit. Der Slider-Bereich scheint irgendwie nicht mit der zeitlichen Videoabfolge übereinzustimmen. Komplett wirres Verhalten bei mir...

 

Diese Positionierungen! Ich bin auch schon ganz wirr. Krieg ich das nie vom Tisch? Aber wie Du selber siehst, es ist schwer aus den Beobachtungen Schlußfolgerungen auf den eigentlichen Fehler zu ziehen. Da klappt es bei mir endlich - na Gott sei Dank! - und dann kommen begnadete Tester und haben schon wieder den Finger in der Wunde ;-)

Umso mehr bin ich für Eure Berichte dankbar. Ich rate Positionierungen im Zusammenhang mit PAUSE extra zu beobachten und von den normalen zu unterscheiden. Bei PAUSE besteht immer die Möglichkeit dass der Write-Pointer den pausierenden Read-Pointer schon weitergeschoben hat. Bei Neuaufnahme der Wiedergabe setzt diese dann (wahrscheinlich mit Rucklern) nicht an der Stelle ein die nach dem eingefrorenen Bild folgt sondern woanders - allerdings in der Zukunft nicht in der Vergangenheit. Dies ist dann allerdings konzeptionell so bedingt - so ist nun mal ein Ringpuffer.

 

Aber das Problem ist wahrscheinlich, dass ich nicht lange gewartet habe, somit noch nicht viel gepuffert war und die Wahrscheinlichkeit von Kollisionen recht groß ist?

Nein, wenn Du noch nicht lange gewartet hast, solltest Du keine Kollisionen haben. Diese treten frühestens nach der ersten Rinpuffer-Runde auf und zwar ganz links am Slider oder aber eben nach längerer PAUSE. Je weiter links umso wahrscheinlicher.

 

Jedenfalls werde ich dann beim Setzen des Sliders oft wieder ans Ende gesetzt.

Das hängt mit der Größe der Dummy-Zone zusammen. Dieses "Totmannsland" ist vom Read-Pointer nicht erreichbar d.h. es wird erstmal mit Daten gefüllt, kann aber nicht ausgelesen werden. In der ersten Rinpuffer-Runde ist diese Verhalten sinnnlos - OK, werd ich verbessern.

 

mfg erwin

Link to comment
daß ich mir heute noch 4GB RAM bestellt habe. Der nützt mir zwar erst mal wenig, da von den 4GB nur 3 zu sehen sind, aber ab Ende Oktober hab ich dann volle 8GB, von denen ich die Hälfte locker an den Ringpuffer übergeben kann.

Du nutzt ein 64Bit OS? Welches? Und TimeshiftPlus funktioniert (prinzipiell zumindest)? Bin über solche Angaben dankbar, da ich selber nur unter XP32 testen kann.

 

EDIT: Ich unterstreich das nochmal: Ich habe nur unter X32 mit installierten 4GB getestet. Was da bei mehr als 4GB geht weiß ich nicht. Immerhin muß ich ja im Programm durchgängig 64Bit-fähige Datentypen verwenden. Hab ich zwar - aber die Fehlpositionierungsbugs deuten auf etwas anderes hin. Will nur vor Fehlinvestitionen warnen. Andereseits wenn Du unabhängig vom Plugin vor hattest auf 8GB zu gehen - nur zu, einer muß der erste sein und Deine Berichte (auch wenns negative sind) können das Plugin nur verbessern.

 

Das Ende des Timeshiftpuffers überholte die Wiedergabeposition. Jedenfalls glaube ich das, da es Aussetzer gab und ich dann mit dem Schieber nicht mehr so weit zurück konnte, wie ich vorher war.

Ja genau so äußert sich dies. Timeslider ganz links = logischer Rinpufferbeginn und dieser wandert mit der Zeit da er vom Write-Pointer vorsich her geschoben wird. Immer mehr vom Anfang geht verloren. Dort sind Ruckler und Aussetzer wahrscheinlich. Die Wahrscheinlichkeit dafür kannst Du durch die Größe der "Dummy Zone" beeinflussen. Erst wenn die Bitratenunterschiede an der Lese- und der Schreibposition diesen Bereich "aufgefressen" haben kommt es zum zwangsweisen Weiterschieben des Lesepointers und damit zu Aussetzern. Wenn die Bitrate während einer Ringpufferperiode im statistischen Mittel unverändert bleibt (oder gar sinkt) kann man mit einer geeigneten "Dummy Zone"

diese Rucklern dann ganz vermeiden.

 

 

mfg erwin

Edited by erwin
Link to comment
Nein, wenn Du noch nicht lange gewartet hast, solltest Du keine Kollisionen haben.

Stimmt. Ich habe hauptsächlich auf ATV getestet, weil gerade "Tool Time" war :) . Da war ich maximal bei 15 Minuten (bei ~3Mbit/s bedeutet das 300-400 MB), d.h. da wurde bei mir mit Ringbuffer 1024M noch keine Runde gedreht. Ich weiß allerdings nicht wie ich es geschafft habe, dass ich mit PAUSE immer wieder an ein und derselben Stelle in der Vergangenheit gelandet bin (obwohl sich Lese- und Schreibpointer mittlerweile weiterbewegt haben sollten). Evtl. bin ich davor mal gesprungen und das Plugin hat sich irgendeinen Pointer gemerkt? Naja, ist für meine Kenntnis des Codes wohl zu viel spekuliert..

Ich habe es da auch geschafft, dass die zeitliche Abfolge nicht mehr mit dem Sliderbereich übereinstimmte. Das Intro zu "Hör mal wer da hämmert" sollte irgendwo weit links sein, war dann aber plötzlich Sliderposition kurz vor "live". Irgendeine Aktion bringt wohl den Lesepointer komplett durcheinander.

 

Bei PAUSE besteht immer die Möglichkeit dass der Write-Pointer den pausierenden Read-Pointer schon weitergeschoben hat.

Wie gesagt habe ich bei meinen Tests noch keine Runde gedreht. Macht auch im Moment keinen Sinn, weil es davor schon nicht mehr stimmt.

Edited by CiNcH
Link to comment
Ich habe es da auch geschafft, dass die zeitliche Abfolge nicht mehr mit dem Sliderbereich übereinstimmte. Das Intro zu "Hör mal wer da hämmert" sollte irgendwo weit links sein, war dann aber plötzlich Sliderposition kurz vor "live". Irgendeine Aktion bringt wohl den Lesepointer komplett durcheinander.

 

Wie gesagt habe ich bei meinen Tests noch keine Runde gedreht. Macht auch im Moment keinen Sinn, weil es davor schon nicht mehr stimmt.

Hab ich das jetzt richtig verstanden: Die Mißpositionierungen sind aufgetreten

1. noch in der ersten Ringpuffer-Runde

2. haupsächlich im Zusammenhang mit PAUSE (oder auch bei normalen Positionierungen? )

 

mfg erwin

Link to comment
Du nutzt ein 64Bit OS? Welches? Und TimeshiftPlus funktioniert (prinzipiell zumindest)? Bin über solche Angaben dankbar, da ich selber nur unter XP32 testen kann.

 

EDIT: Ich unterstreich das nochmal: Ich habe nur unter X32 mit installierten 4GB getestet. Was da bei mehr als 4GB geht weiß ich nicht. Immerhin muß ich ja im Programm durchgängig 64Bit-fähige Datentypen verwenden. Hab ich zwar - aber die Fehlpositionierungsbugs deuten auf etwas anderes hin. Will nur vor Fehlinvestitionen warnen. Andereseits wenn Du unabhängig vom Plugin vor hattest auf 8GB zu gehen - nur zu, einer muß der erste sein und Deine Berichte (auch wenns negative sind) können das Plugin nur verbessern.

 

Nicht ganz. Ich bin im Moment noch auf XP32. Den RAM habe ich mir deshalb jetzt gekauft, weil meine Board-CPU-Kombi etwas feinschmeckerisch ist, was den RAM angeht. Da sah ich die Chance, noch einmal denselben RAM nachzukaufen, schon schwinden. Der wird nämlich nicht mehr produziert. Nur zwei Händler hatten ihn noch "im Regal". Deshalb habe ich jetzt zugeschlagen. Mein 64bit-OS kommt erst Ende Oktober.

 

Aber hatte hier nicht schon jemand geschrieben, daß er TimeshiftPlus unter Vista/Win7 RC benutzt?

 

Edit: tabbycat war's! Allerdings vermutlich die 32bit-Version von Win7 RC1.

Edited by Klassikfan
Link to comment
1. noch in der ersten Ringpuffer-Runde

Ja.

2. haupsächlich im Zusammenhang mit PAUSE (oder auch bei normalen Positionierungen? )

In beiden Fällen. Aber ich bin mir nicht sicher, ob es evtl. eine Kombination aus beidem ist, sprich, dass ich erst gesprungen bin und erst anschließend PAUSE nicht mehr funktioniert hat oder umgekehrt..

Edited by CiNcH
Link to comment

Bitte prüfe auch nochmal die Dummy-Zone. Nach meinen Berechnungen:

 

Dummy-Zone: 1024 KB -> bei 4 Mbit/s (0.5 MB/s) sind das 2 Sekunden

 

Aber auch wenn ich mehr als 2 Sekunden zurückgesprungen bin, bin ich am Ende gelandet (wo es aufgehört hat, weiß ich nicht genau). Da dürfte ich dann nicht mehr im Dummy navigieren.

Link to comment
Dummy-Zone: 1024 KB -> bei 4 Mbit/s (0.5 MB/s) sind das 2 Sekunden

 

Aber auch wenn ich mehr als 2 Sekunden zurückgesprungen bin, bin ich am Ende gelandet (wo es aufgehört hat, weiß ich nicht genau). Da dürfte ich dann nicht mehr im Dummy navigieren.

Die Frage ist hier, ob Du innnerhalb dieser ersten 2 Sekunden gesprungen bist, nicht wie weit. Diese ersten 2 Sekunden wird zwar in den Rinpuffer geschrieben kann aber nichts ausgelesen werden.

 

mfg erwin

Link to comment
Die Frage ist hier, ob Du innnerhalb dieser ersten 2 Sekunden gesprungen bist, nicht wie weit.

Nein, bin ich nicht. Trotzdem werde ich zu Beginn von Timeshift oft ans Ende katapultiert, meist bei kleinen Datenraten. Allerdings passiert das auch noch etliche Sekunden nach Beginn von Timeshift, wo die 2 Sekunden schon lange abgelaufen sind.

 

Einfach mal meine ini von oben nehmen und auf DMAX etwas rumfunktionieren... müsste doch nachvollziehbar sein.

Edited by CiNcH
Link to comment
Das Springen per Time-Slider oder Jump+/- ist nicht wirklich stabil. Aber das Problem ist wahrscheinlich, dass ich nicht lange gewartet habe, somit noch nicht viel gepuffert war und die Wahrscheinlichkeit von Kollisionen recht groß ist? Jedenfalls werde ich dann beim Setzen des Sliders oft wieder ans Ende gesetzt. Oft erscheint nach Positionieren des Sliders auch das Jump-OSD '+00:10', es wird also automatisch ein Jump durchgeführt.

So ist gefixt! THX@CiNcH

Dieser Fix und HD-Fix kommt heut noch mit neuer Version.

 

mfg erwin

Link to comment
Super. Freu ich mich. Hab heut eh noch etwas Zeit zum testen...

So hab gleich noch was drauf gepackt. Hab doch noch Fehler bezüglich der Positionierung gefixt. Hatten nichts mit PAUSE zu tun. Aber ich habe sie über PAUSE gefunden. Vielleicht liegen die Bedienschritte die falsche Positionierungen erzeugen bei PAUSE in der Luft und es ist eine zufällige Koinzidenz. Bitte teste nochmal Deine PAUSE-Probleme. Vielleicht (hoffentlich) sind sie jetzt weg.

 

PS. Ab Montag gehe ich für fast 4 Wochen in Internet-freien Urlaub. Wenn also noch Fragen/Probleme sind, heraus damit bis morgen.

 

mfg erwin

Link to comment

Also gerade auf DMAX habe ich noch riesen Probleme. Mach mal nach 15 Sekunden Timeshift einen Jump -00:10. Geht bei mir nicht. Dann versuche ich mit dem Slider zu positionieren und bin plötzlich in einem Pufferbereich des vorigen Kanals, obwohl RESET aktiv ist. Also das Springen bei DMAX (auch mit Slider) kurz nach Setzen des Kanals funktioniert nicht wirklich. Auch auf ATV habe ich große Probleme, wohl wegen der ähnlich niedrigen Datenrate? Die Größe des Timeshift-Buffer spielt ebenfalls eine Rolle, welchen ich auf 200M dimensioniert habe (Dummy = 1024K). Nimm mal bitte diese Einstellungen und prüfe auf DMAX:

 

[TIMESHIFT]
MODE=1
SIZE=200
RESERVE=1024
RESET=1
MEMORY=0

 

Der Slider-Bereich stimmt auch nicht immer mit der logischen Abfolge der TV-Sendung überein (diesmal bei Buffer 1024M beobachtet und der Write-Pointer befand sich noch in der ersten Runde). Vorher fehlte bei mir ein Stück zwischen Sliderposition "kurz vor live" und "live". Und dieser Abschnitt "kurz vor live" blieb immer gleich. Wenn ich also den Slider etwas zurück bewegt habe von der Position "live" aus, kam immer wieder derselbe TV-Abschnitt, "kurz vor live" sollten aber schon lange wieder neue TV-Daten sein (ähnlich wie beim erwähnten PAUSE-Bug, wo ich nach PAUSE immer wieder zum selben Punkt in der Vergangenheit katapultiert wurde). Ich weiß jetzt aber leider nicht, wie ich diese Szenarien provozieren kann. Man muss halt etwas mit Time-Slider und PAUSE spielen und irgendwann hat man dann wahrscheinlich den Salat. Ich habe das gestern und heute jedenfalls recht leicht geschafft es hervorzurufen. Man muss sich halt etwas merken, was wann lief :) .

 

Leider also immer noch unbrauchbar. Da scheinen noch gravierende Logikfehler drin zu sein.

 

PS. Ab Montag gehe ich für fast 4 Wochen in Internet-freien Urlaub. Wenn also noch Fragen/Probleme sind, heraus damit bis morgen.

Schade, dann wird das Plugin wohl wieder erstmal aus dem Plugins-Ordner fliegen müssen.

Edited by CiNcH
Link to comment

Bei mir geht auch Audio oft verloren. Ich kann das auf GoTV gut reproduzieren.

 

- GoTV setzen

- 20 Sekunden warten

- Jump -00:10 ausführen

 

DVBSource erkennt dann keinen Audio-Stream mehr (Audio State: No data / Connected). GoTV ist auch so ein Sender mit recht niedriger Datenrate. Settings habe ich folgende bei diesem Test gewählt:

 

[TIMESHIFT]
MODE=1
SIZE=1024
RESERVE=1024
RESET=1
MEMORY=0

 

Ich glaube die Tatsache, dass Audio "Joint Stereo" ist, spielt hier auch eine Rolle. Da ist das Ausbleiben von Audio nämlich besonders gut reproduzierbar (oder vielleicht doch eher die Tatsache, dass diese Kanäle mit Joint Stereo, wie auch ATV, eine recht niedrige Datenrate haben).

Edited by CiNcH
Link to comment
Bei mir geht auch Audio oft verloren. Ich kann das auf GoTV gut reproduzieren.

 

- GoTV setzen

- 20 Sekunden warten

- Jump -00:10 ausführen

 

DVBSource erkennt dann keinen Audio-Stream mehr (Audio State: No data / Connected).

Upps! Wenn Du nicht reproduzieren geschrieben hättest, wäre ich von einem zufälligen Zusammentreffen ausgegangen.

Hab nicht mal ne Idee. DVBSource steht am Anfang der Filterkette. Fasse ich nicht mal im Traum an. Alles was ich tue ist dem DVBV eine virtuelle Datei hinzuhalten. Will er in seine Timeshiftdatei schreiben wirds von mir abgefangen und in den Rinbpuffer umgeleitet, will er aus dieser lesen bekommt er es von mir. Nicht mehr und nicht weniger.

 

Was zum Teufel kann den Audio State am Anfang der Filterkette ändern??? Vielleicht haben die DVBV-Macher hierzu einen Hinweis. Werden Fehler am Ende der Filterkette (möglicherweise von mir produzierte Readfehler aus der Timeshiftdatei) upstream bis nach vorn durchgereicht?

EDIT: möglicherweise ist auch mein DVBV-Timeshiftmodell falsch und der DVBV nutzt DVBSource zum Lesen der Timeshiftdatei?

 

 

Leider kann ich nicht die von Dir genannten Kanäle anwählen da ich momentan nicht an meine Schüssel komme. Arbeite z.Z. mit DVB-T. Die haben allerdings auch geringe Bitraten.

 

Zusammenfassend von Dir: Geringe Bitrate, möglichst gleich nach Timeshiftstart positionieren.

 

Hmm? Erstmal Bitraten kommen in meiner Programmlogik nicht vor. Wird alles gleich behandelt. Geringe Bitraten haben allerdings meist eine große Varianz, d.h. die Schwankungsbreite ist relativ gesehen ziemlich groß, was die genaue Positionierung durch den DVBV schwer macht. Kann es sein dass dann aus den angestrebten -10Sek dann mehr als Deine angegebenen 15 Sekunden werden? Trotzdem müsste ich dann doch auf den Angfang positionieren und nicht in die Wildnis? Werde mal in diese Richtung nachforschen.

 

mfg erwin

Edited by erwin
Link to comment
Vorher fehlte bei mir ein Stück zwischen Sliderposition "kurz vor live" und "live".

Vorher ... fehlte. Wie ist das gemeint

 

Und dieser Abschnitt "kurz vor live" blieb immer gleich. Wenn ich also den Slider etwas zurück bewegt habe von der Position "live" aus, kam immer wieder derselbe TV-Abschnitt

So was ähnlicher habe ich auch hingekriegt: Mauspointer in den Slider fast rechts am Rand. Click - Videoauschnitt - Click derselbe Videoausschnitt. Allerdings wurde hier die Rückkehr nach live nicht vollzogen obwohl der Slider dies suggerierte.

 

Wie hast Du es denn gemacht?

 

mfg erwin

Link to comment
Vorher

Mit "vorher" meinte ich bei meinen Tests, die ich kurz vor meinem Posting durchgeführt habe.

 

Wie hast Du es denn gemacht?

Ich weiß es leider nicht. Ich habe nur etwas herumpositioniert und pausiert...

 

 

Die Audio-Geschichte werde ich mir genauer ansehen, wenn der Rest geklärt ist (die Sache mit der Abbildung des Puffers auf den Slider und der Positionierung ist ja nicht ganz trivial). Da werde ich dann Griga zu rate ziehen. Evtl. hat das was mit dem Multiplex und der Stream-Suchtiefe zu tun...

Edited by CiNcH
Link to comment

So hab noch mal logische Fehler im Programm gefunden, die der "Papierruntime" zu folge unter bestimmten Umständen zu Effekten führen wie sie CiNcH beschrieben hat. Also solche Sachen das man bei Vorwärtspostionierungen plötzlich in der Vergangenheit landet oder Rücksprünge in die Zukunft oder gar Pufferbereiche des vorigen Kanals angesprochen werden.

Allerding kann ich nach wie vor keinen Zusammenhang zu PAUSE herstellen.

 

Download wie üblich oder hier:

http://www.DVBViewer.info/forum/index.php?...st&id=20068

 

mfg erwin

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