schnelltreter Geschrieben 31. Oktober 2008 Geschrieben 31. Oktober 2008 Dolle Sache die hier angestoßen wurde - für Tests auf dem Classic Modell stehe ich zur Verfügung Das ist gut zu wissen Meine Roadmap ist in etwa: 1. Classic Steuerung testen (momentan noch kleinere Fehler) 2. Demnächst treffen die ersten Tacx Videos bei mir ein 3. Tacx Videos auf Classic testen (eventuell auch mit Beta Testern) Diese Version zeigt aber noch KEINE Leistungsdaten über dem Video 4. Premium Steuerung machen (noch sehr viel zu tun ) 5. Tacx Videos auf Premium testen (mit Beta Testern) 6. Anzeige von Leistungsdaten & Höhenprofil über dem Video Zitieren
steffen76 Geschrieben 31. Oktober 2008 Geschrieben 31. Oktober 2008 Das ist gut zu wissen 3. Tacx Videos auf Classic testen (eventuell auch mit Beta Testern) Da würde ich mich doch spontan bereit erklären. Und auch Geld in ein Tacx Video investieren. Grüsse Steffen Zitieren
Jore Geschrieben 31. Oktober 2008 Geschrieben 31. Oktober 2008 Dolle Sache die hier angestoßen wurde - für Tests auf dem Classic Modell stehe ich zur Verfügung Hallo Für Testrunden ob 8008 oder 8i stehe ich auch gerne zur Verfügung. Jore Zitieren
7270martin Geschrieben 31. Oktober 2008 Geschrieben 31. Oktober 2008 Wenn man optisch den Gipfel geschafft hat, dann möchte man auch Entlastung spüren. Völlig richtig! Das ist wirklich ein wichtiger Punkt. Bisher spricht ja auch nichts wirklich gegen die 10er, daher macht das Sinn, diese Auflösung zu probieren. Bin voll und ganz dieser Meinung. Das ist beim Fitviewer teilweise etwas irritierend: man hat die Kuppe schon passiert und trotzdem für ein paar Sekunden noch vollen Widerstand. Stehe fürs Testen auch zur Verfügung (P8i). Martin Zitieren
Jore Geschrieben 31. Oktober 2008 Geschrieben 31. Oktober 2008 Welches oder welche sollte man sich für die Testzwecke besorgen? Du brauchst die doch für die Daten. Jore Zitieren
schnelltreter Geschrieben 31. Oktober 2008 Geschrieben 31. Oktober 2008 Ich sehe schon, alle sind ganz heiß aber das momentane Motto ist noch etwas Geduld zu haben Welches oder welche sollte man sich für die Testzwecke besorgen? Du brauchst die doch für die Daten. Also ich hab noch keine Ahnung, da ich noch keine Tacx Filme habe Aber prinzipiell sollten die ja alle gleich sein (vom Dateiformat...). Ich werde auch keine Daten brauchen. Das Umwandeln der Daten kann jeder selbst mit dem Programm tun... Und weil mich schon jemand per PN gefragt hat: Die Tacx Software braucht man logischerweise NICHT zu haben. Zitieren
Crackerjack Geschrieben 31. Oktober 2008 Geschrieben 31. Oktober 2008 Tacx Filmchen habe ich (noch) nicht. Vom Carsten habe ich zwei DVD´s im Tacx-Format, wenn die auch gehen? Zitieren
schnelltreter Geschrieben 31. Oktober 2008 Geschrieben 31. Oktober 2008 Tacx Filmchen habe ich (noch) nicht. Vom Carsten habe ich zwei DVD´s im Tacx-Format, wenn die auch gehen? Die sollten auch gehen! Aber ich werde mir selber ein paar bestellen, um das zu testen... Meine Tacx Filme sind übrigens gerade angekommen Zitieren
schnelltreter Geschrieben 31. Oktober 2008 Geschrieben 31. Oktober 2008 bitte um einfache Beschreibung das auch ein alter Mann wie ich mitkomme. Ich (versuche) ein Programm zu schreiben, dass es erlaubt die Tacx Filme mit einem Daum Ergometer (Classic / Premium) zu fahren. Also ein ähnliches Programm wie Fitviewer (nur besser ). Und als Filme kann man dann alle Tacx kompatiblen Filme verwenden Zitieren
Crackerjack Geschrieben 31. Oktober 2008 Geschrieben 31. Oktober 2008 Also ein ähnliches Programm wie Fitviewer (nur besser ). An dessen Entwicklungstempo solltest du dich aber nicht orientieren - eher logarithmisch sportlich - kleiner Insiderwitz :devil: Zitieren
schnelltreter Geschrieben 31. Oktober 2008 Geschrieben 31. Oktober 2008 Hab gerade probiert die Tacx AVIs mit meinem Programm abzuspielen (ohne Ergo). Und siehe da, Tacx verwendet einen recht seltenen Codec: FFDShow MPEG-4 Video Decoder Ein Installer für den Codec ist auf der Tacx DVD mit drauf. Auf jeden Fall laufen die AVIs schon mal in der Simulation (ohne Ergo) problemlos Zitieren
Golemcity Geschrieben 31. Oktober 2008 Geschrieben 31. Oktober 2008 Hab gerade probiert die Tacx AVIs mit meinem Programm abzuspielen (ohne Ergo). Und siehe da, Tacx verwendet einen recht seltenen Codec: FFDShow MPEG-4 Video Decoder Ein Installer für den Codec ist auf der Tacx DVD mit drauf. Auf jeden Fall laufen die AVIs schon mal in der Simulation (ohne Ergo) problemlos da du ein recht wiffer junge bist hab ich mal eine frage die nichts zur sache tut. warum funktionieren avis unter windows vista nicht ? bißl gegoogelt hab ich ja schon. Zitieren
Beaker Geschrieben 1. November 2008 Geschrieben 1. November 2008 Hab zwar XP, aber mit den AVI liegt es sicher am fehlendem Codec. http://www.chip.de/downloads/Vista-Codec-Package_23964552.html Zitieren
schnelltreter Geschrieben 1. November 2008 Geschrieben 1. November 2008 Ein gutes Tool um herauszufinden, welcher Codec von einer AVI verwendet wird ist: VideoInspector http://www.kcsoftwares.com/index.php?download Zitieren
schnelltreter Geschrieben 1. November 2008 Geschrieben 1. November 2008 Heute mal wieder ein kleiner technischer Beitrag für alle die daran interessiert sind, wie so ein Programm funktioniert. Das zentrale Thema des Programmes ist ja das synchrone Abspielen des Filmes zu der Geschwindigkeit des Ergometers. Die Methode meiner Wahl um den Film mit dem Ergo synchron zu halten ist die Abspielgeschwindigkeit des Filmes zu verändern. Diese "Playrate" ist numerischer Wert bei dem 1.0 der normalen Abspielgeschwindigkeit entspricht. Kleiner 1.0 ist langsamer und 0.0 ist Stillstand/Pause. Größer 1.0 ist schneller. Da vom Ergometer nur jede Sekunde die aktellen Leistungsdaten wie zurückgelegte Distanz und aktuelle Geschwindigkeit ausgelesen werden ist eine direkte Kopplung des Films an den Ergometer nicht möglich. Daher muss das Steuerprogramm den Film immer an die Daten des Ergos "nachregeln". Diese Regelung lässt sich am besten detailiert erläutern: 1. Vom Ergometer werden die zurückgelegte Distanz und aktuelle Geschwindigkeit abgefragt. Zusätzlich wird die aktuelle Position des laufenden Filmes abgefragt. Dies ist die Nummer des aktuell angezeigten Bildes (Current Frame). 2. Nun wird auf Grund der zurückgelegten Distanz die Nummer des Bildes ermittelt, welches an dieser Position aufgenommen wurde (Target Frame). Auch wird die Geschwindigkeit, mit der der Film an dieser Stelle aufgenommen wurde, ausgelsen. Diese Informationen stecken alle in der Tacx RLV-Datei. 3. Die "Basis-Playrate" des Filmes ergibt sich aus dem Verhältnis von der aktuellen Ergo Geschwindigkeit und der Aufnahme Geschwindigkeit des Filmes. 4. Nun ist es aber meist so, dass die Nummer des aktuell angezeigten Bildes und die Nummer des Bildes, welches eigentlich angezeigt werden sollte, nicht übereinstimmen. D.h. entweder läuft der Film vor oder nach. Um dies auszugleichen muss die zuvor ermittelte "Basis-Playrate" angepasst werden. Wenn der Film vorläuft muss sie verkleinert und wenn der Film nachläuft erhöht werden. Wenn man jetzt versuchen würde diese Differenz zwischen den Bild-Nummern sofort, d.h. in der nächsten Sekunde, zu lösen, dann hätte man sehr unschöne Aufschaukelungs-Effekte der Playrate. D.h. es wird viel zu stark geregelt und dann muss noch stärker gegengeregelt werden usw. Besser ist es, wenn versucht wird die Differenz zwischen den Bild-Nummern erst in ein paar Sekunden zu beseitigen. Die Wahl dieser Zeitspanne ist recht wichtig. Ist sie zu kurz, gibt es die genannten Aufschaukelungs-Effekte, ist sie zu lang, reagiert der Film nur sehr träge auf Geschwindgkeitsänderungen des Ergometers. Als bisher ganz guten Wert haben sich 5 sec erwiesen. Wobei das in weiteren Tests noch optimiert werden soll. Und da für diejenigen, die etwas programmieren können, etwas Code mehr sagt als viele Worte hier die betroffene Funktion: public double GetPlaySpeedFactor( double distance /* Unit: Meters */, double speed /* Unit: Meters/Second */, uint currentFrameNumber ) { uint targetFrameNumber = this.GetTargetFrameNumber( distance ); double recordingSpeed = this.GetRecordingSpeed( distance ); double baseSpeedFactor = speed / recordingSpeed; double speedFactor = baseSpeedFactor; double baseFramesPerSecond = baseSpeedFactor * _frameRate; long frameDiff = (long)currentFrameNumber - (long)targetFrameNumber; double factorChange = 0; double TIME_TO_CHANGE = 5; if( frameDiff > 0 ) { // ... langsamer ! factorChange = -( frameDiff / ( baseFramesPerSecond * TIME_TO_CHANGE ) ); } else if( frameDiff { // ... schneller ! factorChange = ( -frameDiff / ( baseFramesPerSecond * TIME_TO_CHANGE ) ); } speedFactor = speedFactor + factorChange; if( speedFactor speedFactor = 0; return speedFactor; } Das bedeutet in der Praxis, dass der Film fast immer etwas vor- bzw. nachläuft. Das Programm ist ständig damit beschäftigt diese Differenz durch eine Regelung zu minimieren. Zitieren
Jore Geschrieben 1. November 2008 Geschrieben 1. November 2008 Sehr schön erklärt,man kann die Problematik so eines Programms gut nachvollziehen. Gibt es für solch Problemstellungen schon vorhandene lösungsansätze oder musst Du Dir alles selber erarbeiten? Gruß Jore Zitieren
LBJ Geschrieben 2. November 2008 Geschrieben 2. November 2008 Heute mal wieder ein kleiner technischer Beitrag für alle die daran interessiert sind, wie so ein Programm funktioniert. Das zentrale Thema des Programmes ist ja das synchrone Abspielen des Filmes zu der Geschwindigkeit des Ergometers. Die Methode meiner Wahl um den Film mit dem Ergo synchron zu halten ist die Abspielgeschwindigkeit des Filmes zu verändern. Diese "Playrate" ist numerischer Wert bei dem 1.0 der normalen Abspielgeschwindigkeit entspricht. Kleiner 1.0 ist langsamer und 0.0 ist Stillstand/Pause. Größer 1.0 ist schneller. Da vom Ergometer nur jede Sekunde die aktellen Leistungsdaten wie zurückgelegte Distanz und aktuelle Geschwindigkeit ausgelesen werden ist eine direkte Kopplung des Films an den Ergometer nicht möglich. Daher muss das Steuerprogramm den Film immer an die Daten des Ergos "nachregeln". Diese Regelung lässt sich am besten detailiert erläutern: 1. Vom Ergometer werden die zurückgelegte Distanz und aktuelle Geschwindigkeit abgefragt. Zusätzlich wird die aktuelle Position des laufenden Filmes abgefragt. Dies ist die Nummer des aktuell angezeigten Bildes (Current Frame). 2. Nun wird auf Grund der zurückgelegten Distanz die Nummer des Bildes ermittelt, welches an dieser Position aufgenommen wurde (Target Frame). Auch wird die Geschwindigkeit, mit der der Film an dieser Stelle aufgenommen wurde, ausgelsen. Diese Informationen stecken alle in der Tacx RLV-Datei. 3. Die "Basis-Playrate" des Filmes ergibt sich aus dem Verhältnis von der aktuellen Ergo Geschwindigkeit und der Aufnahme Geschwindigkeit des Filmes. 4. Nun ist es aber meist so, dass die Nummer des aktuell angezeigten Bildes und die Nummer des Bildes, welches eigentlich angezeigt werden sollte, nicht übereinstimmen. D.h. entweder läuft der Film vor oder nach. Um dies auszugleichen muss die zuvor ermittelte "Basis-Playrate" angepasst werden. Wenn der Film vorläuft muss sie verkleinert und wenn der Film nachläuft erhöht werden. Wenn man jetzt versuchen würde diese Differenz zwischen den Bild-Nummern sofort, d.h. in der nächsten Sekunde, zu lösen, dann hätte man sehr unschöne Aufschaukelungs-Effekte der Playrate. D.h. es wird viel zu stark geregelt und dann muss noch stärker gegengeregelt werden usw. Besser ist es, wenn versucht wird die Differenz zwischen den Bild-Nummern erst in ein paar Sekunden zu beseitigen. Die Wahl dieser Zeitspanne ist recht wichtig. Ist sie zu kurz, gibt es die genannten Aufschaukelungs-Effekte, ist sie zu lang, reagiert der Film nur sehr träge auf Geschwindgkeitsänderungen des Ergometers. Als bisher ganz guten Wert haben sich 5 sec erwiesen. Wobei das in weiteren Tests noch optimiert werden soll. Und da für diejenigen, die etwas programmieren können, etwas Code mehr sagt als viele Worte hier die betroffene Funktion: public double GetPlaySpeedFactor( double distance /* Unit: Meters */, double speed /* Unit: Meters/Second */, uint currentFrameNumber ) { uint targetFrameNumber = this.GetTargetFrameNumber( distance ); double recordingSpeed = this.GetRecordingSpeed( distance ); double baseSpeedFactor = speed / recordingSpeed; double speedFactor = baseSpeedFactor; double baseFramesPerSecond = baseSpeedFactor * _frameRate; long frameDiff = (long)currentFrameNumber - (long)targetFrameNumber; double factorChange = 0; double TIME_TO_CHANGE = 5; if( frameDiff > 0 ) { // ... langsamer ! factorChange = -( frameDiff / ( baseFramesPerSecond * TIME_TO_CHANGE ) ); } else if( frameDiff { // ... schneller ! factorChange = ( -frameDiff / ( baseFramesPerSecond * TIME_TO_CHANGE ) ); } speedFactor = speedFactor + factorChange; if( speedFactor speedFactor = 0; return speedFactor; } Das bedeutet in der Praxis, dass der Film fast immer etwas vor- bzw. nachläuft. Das Programm ist ständig damit beschäftigt diese Differenz durch eine Regelung zu minimieren. http://www.lpph-amstetten.at/dialekt/mp3/2519.wav ... (übersetzung: gemächlich) Zitieren
Jore Geschrieben 2. November 2008 Geschrieben 2. November 2008 http://www.lpph-amstetten.at/dialekt/mp3/2519.wav ... (übersetzung: gemächlich) Iss das Lustig? Zitieren
schnelltreter Geschrieben 3. November 2008 Geschrieben 3. November 2008 Frage in die Runde: In den Tacx RLV Dateien stecken Infos zu verschiedenen Abschnitten der Tour. Kann mich mal jemand mit einer Tacx Rolle aufklären, wie das die Tacx Software handelt? Wird man vor dem Start gefragt welche "Tour" man von den hinterlegten fahren will? Das wär doch sicher ein schönes Feature das so zu übernehmen, oder? Dann muss man nicht immer den ganzen Film fahren, sondern kann sich einen Teil rauspicken... FR_Ventoux.rlv: --- Total Trip: 0 - 67806 Sault - Ventoux : 0 - 23955 Malaucéne - Ventoux: 45169,1 - 67416 Ventoux Descent: 24007,8 - 48420,2 Sault - Ventoux - Malaucéne: 0 - 48513,1 Route 1: 0 - 16679,4 Route 2: 16679,4 - 31658,9 Route 3: 31658,9 - 52926,9 Route 4: 52926,9 - 67806,6 FR_AlpineClassic.rlv --- Total Trip: 0 - 82159 Col du Galibier TT: 3853 - 20125 l'Alpe-d'Huez TT: 68288,9 - 82158,9 Route 1 Col du Galibier: 0 - 12096,9 Route 2 Col du Galibier: 12061,1 - 30593 Route 3 Col du Lautaret: 30593 - 51326 Route 4 Col du Lautaret: 51387,1 - 68136,1 Route 5 l'Alpe d'Huez: 68165,1 - 77118,9 Route 6 l'Alpe d'Huez: 77336,1 - 82162,8 Col du Galibier + warm up: 0 - 30593 l'Alpe-d'Huez + warm up: 60890,4 - 82162,8 Galibier Top - Foot Lautaret: 20125 - 64717,9 Lac Chambon - Foot d'Huez: 54289,3 - 68288,9 IT_Milan-SanRemo.rlv --- Total Trip: 0 - 84482 Poggio - San Remo: 66794 - 84397 Cipressa - San Remo: 49892 - 84397 1: Alassio : 0 - 26215 2: Imperia : 26215 - 47151,1 3: Riva Ligura: 47151,1 - 70291,1 4: San Remo: 70168,3 - 84397,2 Zitieren
Crackerjack Geschrieben 3. November 2008 Geschrieben 3. November 2008 Das wird so sein - screenshot groß - hier noch die Details incl. der Abschnitte http://www.tvb.nu/Fortius%20New/Pyrenees%20Stage/Site%20Main.htm Ich habe das Elite-System mal ausprobiert und es kann auch Abschnitte anspringen, die man aus einer Auswahl anklicken kann. Zitieren
schnelltreter Geschrieben 3. November 2008 Geschrieben 3. November 2008 Ich habe das Elite-System mal ausprobiert und es kann auch Abschnitte anspringen, die man aus einer Auswahl anklicken kann. Meinst du während des laufenden Trainings oder vor dem Start? Möglich wäre beides. Z.B. wäre es möglich mit den Pfeil Tasten der Tastatur zum nächsten hinterlegten Punkt zu springen (oder zurück...). Zitieren
Crackerjack Geschrieben 3. November 2008 Geschrieben 3. November 2008 Beim Elite bin ich immer in das Hauptmenü zurückgesprungen mit einer Taste. Du stoppst schon das lfd. Training und springst zurück in das Hauptfenster und kannst dann aus den vorhandenen Strecken deine neue Auswahl vornehmen. Gleichzeitig läuft von der angewählten Strecke, solange man noch kein Training begonnen hat, das Video ab diesem Abschnitt mit der aufgezeichneten Videogeschwindigkeit durch. P.S. Vorschau läuft in einem kleinen Vorschaufenster ab. Zitieren
schnelltreter Geschrieben 3. November 2008 Geschrieben 3. November 2008 Gibt es für solch Problemstellungen schon vorhandene lösungsansätze oder musst Du Dir alles selber erarbeiten? Nein, da gibt es nix öffentliches. Das ist schon alles selbst überlegt. Ich weiß nicht, ob FitViewer oder Tacx das genauso machen. Ich galube aber schon, da es nicht so viele Möglichkeiten gibt das zu tun... Um die Tatsache mit dem vor- bzw. nachlaufen des Filmes besser verstehen zu können hab ich für die Tests eine Debug-Zeile am Kopf des Filmes eingefügt. Da sieht man: - die aktuelle Bildnummer (FrameNumber) - in der Klammer dahinter die Bildnummern-Differenz (FrameDiff) - die aktuelle Distanz in Metern - in der Klammer dahinter die aktuelle Distanz-Differenz in Metern - die aktuelle Abspielrate (FrameRate) - die aktuelle Steigung Im angehängten Screenshot läuft der Film also ein Bild vor, was 0.3 Metern entspricht. Zitieren
Jore Geschrieben 3. November 2008 Geschrieben 3. November 2008 Hi Wenn man den Film startet, kommt am anfang die Abfrage, ganze Tour oder einzelne Strecken, die man mit der Maus anspringen kann, aber die Teile sind deffiniert, dh. man kann nicht einfach bei zB: km5,98 einsteigen sondern nur an ganz bestimmten Punkten, oder bestimmte Abschnitte mit deffinierten Ende wählen. Wie gehts berghab? also man muß bergab ganz wenig treten, nur ganz aufhöhren geht auch nicht, man hat immer den eindruck es schiebt jemand von hinten. Ich habe die Motorbremse und Tacx Imagig Fortius. gruß alucard Hallo So wie ich es verstanden habe werden die Tacx Dateien in Epp Dateien umgewandelt und werden sich bergab normal wie jede andere Epp Datei fahren lassen. Jore Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.