Come riproduco un file video in OpenGL?


9

Esiste una libreria che mi permetterà di caricare un filmato e riprodurlo in un'applicazione OpenGL? O forse solo un esempio di codice che qualcuno ha in giro? Sto anche usando GLUT, se questo fa la differenza. Immagino che il formato del file non abbia importanza, sebbene al momento il mio film sia in formato AVI.


Mi piacerebbe vedere un po 'di lib che usa ffmpeg e supporta letteralmente tutto.
Akaltar,

Risposte:


4

Bene, c'è questo tutorial molto antico che riproduce un video AVI usando la funzione fissa GL e l'API di Windows.

Non consiglio di utilizzare questa configurazione, poiché è molto obsoleta, ma il concetto è sostanzialmente valido. Ottieni ogni fotogramma del video e usalo per aggiornare una trama OpenGL. Così semplice.

Se riscontri problemi di prestazioni, puoi iniziare a pensare all'ottimizzazione con cose come Pixel Buffer Objects .


Onestamente, solo "Windows" non è abbastanza buono. Se uno non supporta tutte le piattaforme, sta danneggiando tutti gli altri dando a Microsoft il potere che non meritano.
Lolums,

@Lolums, supponendo che tu sia impegnato al 100% con la piattaforma, quindi penso che vada bene usare un'API specifica del sistema. Ma sì, la scrittura di codice portatile dovrebbe essere l'impostazione predefinita. Anche se si utilizza un'API della piattaforma, almeno scrivere un wrapper sottile su di essa per evitare di perdere i dettagli dell'implementazione e facilitare le esigenze di porting future.
glampert


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.