Video auf Sprite rendern

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Sven
Beiträge: 374
Registriert: 23.09.2004 12:01

Video auf Sprite rendern

Beitrag von Sven »

Ich habe massiv Probleme mit dem Rendern von Videos auf einem Sprite. Manche werden komplett angezeigt, von manchen wird nur der Ton wiedergegeben, bei manchen stürzt das Programm ab. Die Videos werden im Mediaplayer (meistens) problemlos wiedergegeben. K-Lite-Codecpack habe ich probiert, hat aber nur bedingt geholfen.

Die Wiedergabe an sich funktioniert im Prinzip, es liegt an den Codecs bzw. deren Verwendung mit der Movielib. Daher war die Idee, eine andere Lib zu verwenden, zum Beispiel vom VLC-Player. Da gibt es nur zwei Probleme: Ich hab keine Ahnung, wie ich die ansprechen könnte. Und ich hab keine Ahnung, wie ich das auf ein PB-eigenes Sprite bekomme. Und ich hab zwar einige Hinweise gefunden, dass man eine andere Movielib verwenden könne, aber nichts Konkretes für meinen Fall: Movie auf Sprite.

Für einen Ansatz, wie ich das implementieren könnte, wäre ich dankbar...
Sven
Beiträge: 374
Registriert: 23.09.2004 12:01

Beitrag von Sven »

Btw: Mit Ansatz mein ich jetzt kein Programm, sondern Hinweise, wie es gehen könnte oder wo man sich dazu belesen kann.
Benutzeravatar
dige
Beiträge: 1245
Registriert: 08.09.2004 08:53

Beitrag von dige »

Wenn Du es irgendwie vermeiden kannst, solltest Du RenderMovieFrame()
nicht verwenden..
Zum einem werden nicht alle Codecs unterstützt, zum anderen ist die
Implementierung für DirectX9 leider fehlerhaft und stürtzt immer mit
einem Illegal Memory Access ab...
"Papa, ich laufe schneller - dann ist es nicht so weit."
Sven
Beiträge: 374
Registriert: 23.09.2004 12:01

Beitrag von Sven »

Naja, immer nicht, aber leider sehr oft. Und darum will ich das irgendwie umgehen und am liebsten keine DX-Routinen verwenden. Gibt es sowas auch für OpenGL?

Das Rendern auf den Sprite hat nur den Grund, dass ich damit Videos in Echtzeit ein- und ausblenden bzw. überblenden kann. Hab keine Idee, wie ich das sonst realisieren soll.

Btw: Ohne Sprite ist auch nicht das Wahre, mitunter wird dann das Video - was als Overlay läuft - nicht angezeigt oder erst nach Klick in das Fenster angezeigt. Das ist aber ein Problem, was andere Player auch ab und zu haben.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Naja, DirectShow ist neuer als VFW (Video For Windows) und unterstützt mehr Codecs und soweit ich weiß heißt das neueste das es hierzu gibt WMI (Windows Media Interface).

VFW wird oft mit OpenGL verwendet, da es recht einfach ist die Frames im RGB Format auszulesen. VFW unterstützt zudem nur Videos unter 2GB (Oder vllt. sogar 1, da war nämlich noch was, dass die explizit noch eine tiefere Schranke genommen haben).

http://nehe.gamedev.net/data/lessons/le ... ?lesson=35
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Antworten