kayfuun Posted November 14, 2007 Posted November 14, 2007 Hallo miteinander, ich bin seit einigen Wochen stolzer Besitzer des DVBViewers und bin eigentlich sehr zufrieden damit. Ein Problem habe ich dann aber doch (wie sollte es auch anders sein ), nämlich ein periodisch wiederkehrendes Ruckeln im Live-TV Bild. Das Ruckeln tritt ziemlich genau alle 2 Minuten auf und geht mit einem deutlichen Anstieg der durch den DVBViewer verursachten CPU-Auslastung einher. Das und einige Forumsbeiträge brachten mich auf den Gedanken, daß evtl. die Vertikalfrequenz meiner Graka nicht genau 50.000Hz betragen könnte (obwohl Powerstrip genau das anzeigt). Denn dann sind Ruckler natürlich unvermeidbar (zumindest ohne Framerateanpassung), da ja von der TV-Karte 50 Bilder/s ins System kommen, aber weniger bzw. mehr das System wieder verlassen möchten... Also habe ich zum Test mal ReClock als Audiorenderer ausgewählt, da dieser die tatsächliche Bildwiederholfrequenz zuverlässig anzeigt. Und siehe da: es werden in dessen Properties 50.008Hz angezeigt. Das passt auch wunderbar zu den 2 Minuten: es kommen 0.008 Bilder/s zu wenig an => alle 125 Sekunden muß das System einen Frame sonstwo herholen (z.B. denselben Frame 2x anzeigen o.ä.). Nun habe ich versucht mit Powerstrip das Timing zu tweaken, leider jedoch ohne Erfolg. Ich bekomme entweder nur 49.970Hz (= Ruckeln alle 33 Sekunden) oder eben 50.008Hz zustande. Nachdem dies also auch fehlgeschlagen ist, bin ich, angeregt durch einen Beitrag in einem anderen Thread (wenn ich mich recht erinnere ging es da eigentlich um Postprocessing), auf die Idee gekommen, daß man doch eine Art Push2Pull-Filter programmieren könnte, der die Daten aus den Push-Ausgängen des DVBSource Filters holt und diese an Pull-Ausgängen zur Verfügung stellt. Die Daten würden dazu à la Timeshift auf der HDD in einem Buffer zwischengespeichert. Problem ist natürlich, daß sich das TV-Bild mit der Zeit immer mehr verzögern und der Buffer damit immer größer werden wird. Außerdem muß die Vertikalfrequenz der GraKa natürlich kleiner als 50.000Hz sein damit das Ganze funktioniert. Konkret würde in meinem Fall alle 33 Sekunden ein Frame gespeichert werden. Bei 50 Frames/s hätte ich mir also alle 50*33 = 1650 Sekunden oder 27,5 Minuten eine Sekunde Verzögerung eingefangen. Da ich selten mehr als 3 Stunden am Stück denselben Sender sehe, hätte ich mit einer max. Verzögerung von etwa 6 Sekunden zu rechnen (beim Umschalten würde der Buffer nat. geleert werden). Zugegebenermaßen habe ich relativ alte Hardware (1.6GHz Pentium-M, 855GME Chipsatz mit integrierter Grafik, leider kein AGP od. PCI-E Slot vorhanden). Trotzdem kann ich mir eigentlich nicht vorstellen, daß ich mit diesem Problem ganz alleine bin, oder etwa doch? In jedem Fall würde ich mich über jegliche Kommentare zu so einem Push2Pull-Filter freuen, insbesondere zu folgenden Punkten: - vielleicht gibt es so einen Filter schon? - der Filter ist schlicht und einfach Quatsch und es gibt eine viel einfachere Lösung - der Filter ist aus irgendeinem Grund so nicht realisierbar - andere User haben dasselbe Problem und hätten ebenfalls Interesse an so einem Filter Danke und Grüße, kayfuun P.S.: Klar könnte ich mir jetzt auch neue HW kaufen. Aber das wäre 1. schon irgendwie "unsportlich" und 2. wer garantiert mir, daß ich dann nicht wieder dasselbe Problem habe... Quote
Moses Posted November 14, 2007 Posted November 14, 2007 Hm... sollte es da nicht reichen, einfach timeshift zu aktivieren, also nach dem Umschalten kurz pause drücken und direkt wieder play? Wenn das ganze jetzt langsamer verarbeitet wird, sollte es auch damit kein Problem mehr geben. Ok, ist natürlich nicht so schön automatisch... aber naja. Quote
kayfuun Posted November 15, 2007 Author Posted November 15, 2007 Ja, das dachte ich auch zuerst. Allerdings ändert das Aktivieren des Timeshift's leider nichts daran, daß der DVBViewer Filter die Daten mit 50Hz pusht. Damit hat man wieder dasselbe Verhalten wie zuvor. Eine andere Idee ist, den Stream einfach als .mpg aufzunehmen und diesen gleichzeitig abzuspielen. Das klappt aber leider auch nicht, denn beim Versuch das Abspielen zu Starten meldet der DVBViewer, daß die .mpg Datei bereits geöffnet ist und bricht ab. Allerdings habe ich gerade eben den TSPlayer entdeckt. Vielleicht klappt's ja damit? Muß ich heute abend mal austesten. Werde dann berichten. Grüße, kayfuun Quote
Lars_MQ Posted November 15, 2007 Posted November 15, 2007 aktiviere in den optionen die dvbsource für mpegs dann kannst du auch gleichzeitig abspielen. Quote
kayfuun Posted November 15, 2007 Author Posted November 15, 2007 Leider hatte ich mit dem TSPlayer auch keinen Erfolg. Er benutzt ebenfalls den DVBViewer Filter (der ja eigentlich pushsource.ax heißt...) als Input, und somit tritt das Problem immer noch auf. Gleiches gilt natürlich auch für den Vorschlag von Lars_MQ... Also doch entweder einen Push2Pull Filter schreiben oder neue Hardware kaufen. Es scheint zwar wirklich so zu sein, daß ich der Einzige bin, der dieses Problem hat (ich kann's eigentlich nicht glauben ), aber ich denke ich probier's trotzdem mal mit dem Filter. Falls es bzgl. der Realisierbarkeit noch Bedenken oder Einwände gibt, bitte kurz Bescheid geben. Danke & Grüße, kayfuun Quote
geo_48 Posted November 15, 2007 Posted November 15, 2007 Ich hatte das Problem auch. Nach einigen Versuchen ruckelt es anscheinend mit folgender Konfiguration nicht mehr: Vista 32bit Nvidia 8600GTS mit Forceware 163.75 DVBViewer 3.9.0.0 Technotrend S2-3200 Cyberlink-Codec Vielleicht kann das hier jemand verifizieren... Gruß Georg Quote
kayfuun Posted November 16, 2007 Author Posted November 16, 2007 Wie gesagt läßt es sich einfach feststellen, ob du _genau dieses_ Problem hast, indem du Reclock als Audiorenderer wählst und in dessen Properties unter Video Hardware::Refresh Rate die Bildwiederholfrequenz abliest. Steht hier ein Wert != 50.000Hz wirst du definitiv irgendwann Ruckler haben (außer mit entsprechendem Postprocessing). Wie oft die Ruckler auftreten, ist leicht zu berechnen: Zeit zwischen den Rucklern = |1/(50-RefreshRate)| Sekunden Wenn du allerdings rein subjektiv im Moment keine Ruckler siehst, ist es wahrscheinlich besser, erst gar nicht nachzusehen, denn sonst... Grüße, kayfuun Quote
geo_48 Posted November 16, 2007 Posted November 16, 2007 Wenn ich unter Vista DVBViewer starte gibt es so einen kleinen Ruckler. Der Fernseher synchronisiert neu auf, der Datenstrom zu Fernseher ist einmal kurz unterbrochen. Könnte es sein, dass die NVIDIA 8600GTS die Bildwiederholfrequenz "on_th_fly" verändern kann? Gruß Georg Quote
enzoaus Posted November 26, 2007 Posted November 26, 2007 Hallo ! Ich habe das analoge Problem wie beschrieben unter XP und muss auch sagen, dass es unter Vista nicht auftritt. Allgemein ist die Bewegungsdarstellung unter Vista deutlich besser (z.b. Laufschriften, bildschrimfüllende Bewegungen). Ich verwende ebenfalls die 8600GTs und den Cyberlink Codec Ultra bei 1080p an einem LCD. Probleme unter Vista hab ich leider mit dem neuen 2.9.1 Filter (Beta) und bestimmten Plugins, mit dem 2.9.0 stürzt der viewer hingegen öfter ab. Ineressanterweise kann ich unter Vista bestimmte Sender (schwacher Empfang?) nicht empfangen - das muss aber was mit der DVBS2 KArte (Twinhan) zu tun haben. Grüße Enzo Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.