Film-Simulation



  • .... hm ... *kopfkratz*

    Es geht um einen Fahrsimulator, den ich entwickeln muß. Dieser Fahrsimulator hat neben diversen Ereignissteuerungen, auch einen Videofilm. Dieser Film wird überarbeitet, sprich grafisch verändert und letztlich dann entsprechend in der Simulation ablaufen.
    Bei den Formaten bin ich noch offen, vermutlich aber AVI.

    Mein Problem ist, dass ich diesen Film aus er Software heraus steuern können muß.

    Und dafür suche ich eine Klassenbibliothek.

    Ich hoffe, das dass etwas verständlicher war ... ? 🙂

    Gruß
    Axel



  • Kurz: Nein.

    Lang:

    Der Fahrsimulator ... hat einen Videofilm.

    Und meine Oma hat nen Regenschirm. Was soll denn HAT heissen. Dein Fahrsimulator ist ein Programm und darin läuft ein VideoFilm auf dem Bildschirm was dir z.B. die Strasse und Hindernisse oder ähnliches anzeigt ?
    1. In welcher Form liegt der Film vor.
    2. Willst DU diesen Film grafisch überarbeiten.
    3. Ist der Fahrsimulator überhaupt dein Programm, oder willst du nur das Programm von aussen her manipulieren.
    4. Aus welcher Software heraus willst du den Film steuern, aus dem Fahrsimulator heraus ? Also hast du irgnedwo eine Methode RenderMovie oder wie wird der Film überhaupt dargestellt.
    5. Was soll deine Klassenbibliothek machen.

    Danke



  • Moin,

    nun bewege ich mich hier zwar tatsächlich auf Neuland, dennoch sollte es möglich sein, einfach mal zu lesen, was ich da schreibe 😉

    Aber gern nocheinmal:

    1. In welcher Form liegt der Film vor.

    Bei den Formaten bin ich noch offen, vermutlich aber AVI.

    2. Willst DU diesen Film grafisch überarbeiten.

    Dieser Film wird überarbeitet, sprich grafisch verändert und letztlich dann entsprechend in der Simulation ablaufen.

    3. Ist der Fahrsimulator überhaupt dein Programm, oder willst du nur das Programm von aussen her manipulieren.

    Es geht um einen Fahrsimulator, den ich entwickeln muß. Dieser Fahrsimulator hat neben diversen Ereignissteuerungen, auch einen Videofilm.

    5. Was soll deine Klassenbibliothek machen.

    (...)muß zwingend die Ablaufgeschwindigkeit beeinflußt werden können, als auch die Koordinaten ausgelesen.

    4. Aus welcher Software heraus willst du den Film steuern, aus dem Fahrsimulator heraus ? Also hast du irgnedwo eine Methode RenderMovie oder wie wird der Film überhaupt dargestellt.

    Die Beantwortung dieser Frage, könnte tatsächlich das Problem lösen. Denn wenn es über eine externe Software gesteuert wird, braucht diese Software eine Schnittstelle, die ich entsprechend ansteuern kann.
    Gibt es für Debian keine gescheite Software, insbesondere schnelle, allderweil da einige Daten verarbeitet werden müssen, dann muß eine entsprechende Routine selber programmiert werden.

    Und den Regenschirm der Oma können wir sicherlich hier außen vor lassen 😉

    Gruß
    Axel



  • Bei den Formaten bin ich noch offen, vermutlich aber AVI.

    ziemlich uninteressant fuer den anfang.

    Dieser Film wird überarbeitet, sprich grafisch verändert und letztlich dann entsprechend in der Simulation ablaufen.

    aha. aber nach 3 posts kann ich immer noch nicht verstehen, WER diesen film "grafisch [sic] veraendert"...
    hast du den film schon ueberarbeitet, oder macht das dein chef, oder hat das ein von wem auch immer entwickeltes, bereits existierendes programm schon gemacht, oder soll zu guter letzt dann doch dein eventuell entstehendes programm das uebernehmen?

    Es geht um einen Fahrsimulator, den ich entwickeln muß. Dieser Fahrsimulator hat neben diversen Ereignissteuerungen, auch einen Videofilm.

    ja logo, da HAT er ihn ja schon wieder.

    (...)muß zwingend die Ablaufgeschwindigkeit beeinflußt werden können, als auch die Koordinaten ausgelesen.

    aha. ablaufgeschwindigkeit von was? und welche koordinaten?

    Die Beantwortung dieser Frage, könnte tatsächlich das Problem lösen. Denn wenn es über eine externe Software gesteuert wird, braucht diese Software eine Schnittstelle, die ich entsprechend ansteuern kann.
    Gibt es für Debian keine gescheite Software, insbesondere schnelle, allderweil da einige Daten verarbeitet werden müssen, dann muß eine entsprechende Routine selber programmiert werden.

    man, du bist echt anstrengend.... natuerlich HAETTE die beantwortung der frage geholfen. aber du hast sie nicht beantwortet...

    so, um dir mal ein kleines beispiel zu geben:

    wenn ich ein programm bauen will, dass mir ein komisches gruenes maennchen auf einen im hintergrund abgespielten film mit rosa grizzlybaeren malt, und nicht weiss welche library mir das ermoeglicht, dann wuerde ich so anfangen:

    "Hi folks, ich will hier ein programm bauen, dass mir ein gruenes maennchen auf ein video draufzeichnet, auf dem rosa grizzlys zu sehen sind. ich habe aber keine ahnung welche library ich dafuer nehmen soll. ziel der sache ist, menschen mit dem anblick von gruenen maennchen und rosa grizzlys auf farbblindheit und geschmacksverwirrungs-resistenz zu testen.
    danke im voraus."

    so, und weisste was? mit diesem satz wissen die leute a) was ich machen will, b) wozu ich es machen will, und c) wo genau ich nicht weiterkomme.
    ist das soooo schwer?



  • :))

    Hi folks,

    ich will einen Fahrsimulator programmieren. Kein Spiel, sondern einer, der dann ganz realistisch eine Fahrt simuliert. Leider darf ich hier aus Datenschutztechnischen Gründen keine Details nennen. Also was genau wofür.
    Damit das richtig schön realistisch wirkt, läuft ein realistischer Film ab, in dem unser Grafiker was verändert hat und das auch schon alles fertig gemacht hat.

    Leider lief das alles mal mehr oder weniger schlecht auf Windows und muß halt jetzt nach Linux-Debian rüber.

    Der "Fahrer" sitzt dabei in einem richtig realistischen Fahrraum (also nichts mehr mit Maus und solcherlei) und steuert sein Fahrzeug. Zwischendurch passiert dann was im Film an dem von uns grafisch veränderten Stellen und Fahrzeug und Fahrer reagieren dann entsprechend.

    Wie sich der Film grafisch verändern läßt ist zunächst geklärt und auch schon gemacht und liegt sowohl als AVI, wie auch als MPEG vor. Den Film ggfls. zu einem anderen Format zu potieren, sofern notwendig, sollte jedoch kein Problem sein.

    Nun tritt der Fahrer beispielsweise die Bremse und der Film muß langsamer laufen.
    --> Beeinflussung der Ablaufgeschwindigkeit.

    Und da wir ja Grafik da rein gemacht haben, muß also ergo irgendwie die Koordinate IM FILM NATÜRLICH abgefragt werden können. 3D technisch wär vielleicht sinnvoll, aber 2D nehme ich auch. Alles eine Frage der Formel im Endeffekt.

    War das jetzt klarer? 😃

    Axel



  • Also ist das "grafische Überarbeiten" hier völlig irrelevant, da bereits geschehen?

    Arlecchino schrieb:

    Nun tritt der Fahrer beispielsweise die Bremse und der Film muß langsamer laufen.
    --> Beeinflussung der Ablaufgeschwindigkeit.

    Cool. Wenn ich bremse, wird die ganze Welt langsamer 😉



  • MFK schrieb:

    Also ist das "grafische Überarbeiten" hier völlig irrelevant, da bereits geschehen?

    Arlecchino schrieb:

    Nun tritt der Fahrer beispielsweise die Bremse und der Film muß langsamer laufen.
    --> Beeinflussung der Ablaufgeschwindigkeit.

    Cool. Wenn ich bremse, wird die ganze Welt langsamer 😉

    Gut, einer hat die Buchstaben da oben verstanden ..... 🤡



  • generell denke ich dass du kaum eine video-player-library finden wirst, die dir diese funktionen bietet, und dann auch noch auf linux. ausser vielleicht gstreamer, aber dass musst du dir selber anschauen.

    genereller tip: entweder gstreamer oder gleich libtheora (kann ich auch empfehlen) nehmen, und dann manuell jeden frame (einzelbild) einzeln decodieren und anzeigen, wiederholfrequenz und somit geschwindigkeit kann so gesteuert werden. ruckelt halt sehr wenn zu langsam....

    aber rein theorethisch heisst das ja, dass sich der fahrer als auto selber auf dem schirm sieht? oder ist der film so breit, dass immer nur ein ausschnitt davon auf dem bildschirm angezeigt wird? kanns mir nicht ganz so 100%-ig vorstellen.



  • Arlecchino schrieb:

    :))
    Und da wir ja Grafik da rein gemacht haben, muß also ergo irgendwie die Koordinate IM FILM NATÜRLICH abgefragt werden können. 3D technisch wär vielleicht sinnvoll, aber 2D nehme ich auch. Alles eine Frage der Formel im Endeffekt.

    Was genau fuer eine Koordinate? die "wiviel vom Film wurde bereits abgespielt"-Koordinate?

    Jedenfalls: ich glaub auch das gstreamer das machen sollte. Alternativ koennen die meisten Videoplayer die Abspielgeschwindigkeit auf die eine oder andere Art & Weise veraendern, d.h. zur Not koenntet ihr einfach das Video in einem Mediaplayer abspielen, und von aussen (mit einem von euch geschriebenen Programm, das eben eure Inputgeraete abfragt) die Abspielgeschwindigkeit des Players veraendern. Ob die Mediaplayer die Geschwindigkeit allerdings in der Granularitaet veraendern koennen wie ihr sie braucht, weiss ich nicht. Alternativ muesstet ihr wirklich so vorgehen wie loki vorgeschlagen hat (Bild fuer Bild dekodieren und dann selbst anzeigen), sollte auch nicht wahnsinnig aufwaendig sein 🙂



  • Der Film ist durch die Windschutzscheibe aufgenommen.
    Erinnert so n bisken an "Die schönsten Bahnstrecken Europas" auf ARD (oder ZDF?) 😉

    Er sieht also die Landschaft draußen durch die Scheibe und unser Grafiker war recht gut, um die Veränderungen nicht zu sehr ins Auge springen zu lassen. Da bei unseren Fahrzeugen die Sicht aber ohnehin etwas eingeschränkt ist, passt das scho.

    Danke für die Tipps. Werde ich mir anschauen und hilft mir auf jeden Fall auch weiter, da ich die bei meiner esten Recherche nicht fand.

    Und dank der Geduld mit mir 😉

    Axel



  • Was genau fuer eine Koordinate? die "wiviel vom Film wurde bereits abgespielt"-Koordinate?

    Entweder die oder eben ein Koordinatensystem, welches durch den ganzen Film geht. Oder aber auch (aber das ist alles noch nicht zuende gedacht), wir legen ein eigenes Raster über den Film.

    Wie gesagt, das ist noch nicht klar, aber auf jeden Fall müssen wir schon wissen, an welcher Stelle im Film wir sind. Läßt sich vielleicht auch über die Zeit realisieren, aber da die Anzahl der Frames schwankt, bzw. bei sehr langsamer Fahrt, der Film evt. auch "verkürzt" wird, bin ich mir noch unsicher, ob das eine mögliche Methode ist.

    Aber Probleme sind schließlich da, damit sie gelöst werden 😉

    Gruß
    Axel



  • hmm, ich denke mal da kommt ihr mit der zeitmessung oder besser frame-nummmer und parrallel irgendnem haendisch gepflegten table besser weg. also dass ihr dann wisst, bei frame nummer 73662 muss aktion X ausgefuehrt werden..... aber wie gesagt, keine ahnung, muesst ihr selber rausfinden.



  • Mal eine generelle Möglichkeit von mir (bin nicht sicher ob die bei dir funktioniert...)

    Damit es 'grafisch' noch gut aussieht wenn der Fahrer langsamer wird, wäre es am besten wenn der Film, den du vorliegen hast, mit einer hohen Framerate aufgenommen wurde...

    Nehmen wir als beispiel mal 100 Frames pro Sekunde (FPS) für die 'normale' Geschwindigkeit...
    Jetzt musst du doch eigentlich nur deine angezeigten FPS an deine Geschwindigkeit anpassen...?!? Also wenn der Fahrer langsamer wird, werden auch die FPS weniger... und es werden mehr FPS angezeigt, wenn der Fahrer schneller wird...

    Und anhand der Framenummer kannst du exakt bestimmen an welcher Position der Fahrer sich befindet. (vielleicht sollte man da auf Bereiche (Frame 512-525, 2666-2690, etc...) überprüfen anstelle von einzelnen Frames...
    Das wäre quasi deine 'Koordinate'

    P.S. Was meinst du eigentlich mit 'die anzahl der frames schwankt' ?!?

    ndT Lupo

    Die heutige Form der Kommunikation stellt andere Ansprüche an die Definition von Raum und Zeit.
    ^Frank Dommenz^


Anmelden zum Antworten