Comment lire un fichier vidéo dans OpenGL?

9

Existe-t-il une bibliothèque qui me permettra de charger un fichier vidéo et de le lire dans une application OpenGL? Ou peut-être juste un exemple de code que quelqu'un traîne? J'utilise également GLUT, si cela fait une différence. Je suppose que le format de fichier n'a pas d'importance, bien que mon film soit actuellement au format AVI.

Jimmy Miller
la source
J'adorerais voir une bibliothèque qui utilise ffmpeg et prend en charge comme littéralement tout.
akaltar

Réponses:

4

Eh bien, il y a ce tutoriel très ancien qui lit une vidéo AVI en utilisant la fonction fixe GL et l'API Windows.

Je ne recommande pas d' utiliser cette configuration, car elle est très obsolète, mais le concept est fondamentalement valide. Obtenez chaque image de la vidéo et utilisez-la pour mettre à jour une texture OpenGL. C'est simple.

Si vous rencontrez des problèmes de performances, vous pouvez commencer à penser à l'optimisation avec des choses comme Pixel Buffer Objects .

glampert
la source
Honnêtement, "Windows" n'est pas suffisant. Si l'on ne prend pas en charge toutes les plates-formes, ils blessent tout le monde en donnant à Microsoft la puissance qu'ils ne méritent pas.
Lolums
@Lolums, en supposant que vous êtes engagé à 100% sur la plate-forme, je pense que c'est bien d'utiliser une API spécifique au système. Mais oui, l'écriture de code portable devrait être la valeur par défaut. Même si vous utilisez une API de plate-forme, écrivez au moins une enveloppe mince dessus pour éviter de divulguer les détails d'implémentation et faciliter les futurs besoins de portage.
glampert
1

Si vous êtes heureux d'utiliser le format ogg theora, vous pouvez utiliser la bibliothèque TheoraPlay. Il y a un plugin entièrement fonctionnel pour le moteur Duality ici que vous pouvez utiliser pour référence - https://github.com/Andrea/DualityOgvPlayerPlugin . Cela fonctionne avec opengl.

BraveSirAndrew
la source