¿Cómo reproduzco un archivo de video en OpenGL?

9

¿Hay una biblioteca que me permita cargar un archivo de película y reproducirlo en una aplicación OpenGL? ¿O tal vez solo una muestra de código que alguien tiene por ahí? También estoy usando GLUT, si eso hace la diferencia. Supongo que el formato de archivo no importa, aunque actualmente mi película está en formato AVI.

Jimmy Miller
fuente
Me encantaría ver algo de lib que usa ffmpeg y admite literalmente todo.
akaltar

Respuestas:

4

Bueno, hay un tutorial muy antiguo que reproduce un video AVI usando la función fija GL y la API de Windows.

No recomiendo usar esta configuración, ya que está muy desactualizada, pero el concepto es básicamente válido. Obtenga cada fotograma del video y úselo para actualizar una textura OpenGL. Así de simple

Si se encuentra con problemas de rendimiento, puede comenzar a pensar en optimizar con cosas como Pixel Buffer Objects .

glampert
fuente
Honestamente, "Windows" solo no es lo suficientemente bueno. Si uno no admite todas las plataformas, está perjudicando a todos los demás al dar a Microsoft el poder que no se merece.
Lolums
@Lolums, suponiendo que esté 100% comprometido con la plataforma, entonces creo que está bien usar una API específica del sistema. Pero sí, escribir código portátil debería ser el valor predeterminado. Incluso si usa una API de plataforma, al menos escriba una envoltura delgada sobre ella para evitar filtrar los detalles de implementación y facilitar futuras necesidades de portabilidad.
glampert
1

Si está contento de usar el formato ogg theora, entonces podría usar TheoraPlay lib. Aquí hay un complemento completamente funcional para el motor Duality que puede usar como referencia: https://github.com/Andrea/DualityOgvPlayerPlugin . Funciona con opengl.

ValienteSirAndrew
fuente