Wie spiele ich eine Videodatei in OpenGL ab?

9

Gibt es eine Bibliothek, mit der ich eine Filmdatei laden und in einer OpenGL-Anwendung abspielen kann? Oder vielleicht nur ein Codebeispiel, das jemand herumliegen hat? Ich benutze auch GLUT, wenn das einen Unterschied macht. Ich denke, das Dateiformat spielt keine Rolle, obwohl mein Film derzeit im AVI-Format ist.

Jimmy Miller
quelle
Ich würde gerne eine Bibliothek sehen, die ffmpeg verwendet und buchstäblich alles unterstützt.
Akaltar

Antworten:

4

Nun, es gibt dieses sehr alte Tutorial , das ein AVI-Video mit fester Funktion GL und der Windows-API abspielt.

Ich empfehle die Verwendung dieses Setups nicht, da es sehr veraltet ist, aber das Konzept ist grundsätzlich gültig. Holen Sie sich jedes Bild des Videos und aktualisieren Sie damit eine OpenGL-Textur. So einfach.

Wenn Sie auf Leistungsprobleme stoßen, können Sie über eine Optimierung mit Dingen wie Pixel Buffer Objects nachdenken .

glampert
quelle
Ehrlich gesagt ist "Windows" nur nicht gut genug. Wenn man nicht alle Plattformen unterstützt, verletzen sie alle anderen, indem sie Microsoft die Macht geben, die sie nicht verdienen.
Lolums
@Lolums, vorausgesetzt, Sie sind zu 100% der Plattform verpflichtet, dann ist es meiner Meinung nach in Ordnung, eine systemspezifische API zu verwenden. Aber ja, das Schreiben von portablem Code sollte die Standardeinstellung sein. Selbst wenn Sie eine Plattform-API verwenden, schreiben Sie mindestens einen Thin Wrapper darüber, um zu vermeiden, dass die Implementierungsdetails verloren gehen, und um zukünftige Portierungsanforderungen zu vereinfachen.
Glampert
1

Wenn Sie gerne das ogg theora-Format verwenden, können Sie die TheoraPlay-Bibliothek verwenden. Hier gibt es ein voll funktionsfähiges Plugin für die Duality-Engine, das Sie als Referenz verwenden können - https://github.com/Andrea/DualityOgvPlayerPlugin . Es funktioniert mit opengl.

BraveSirAndrew
quelle