2017-01-31 5 views
-1

Ich muss ein Video auf einer OpenGL-Oberfläche wiedergeben. Ich denke, ich muss jeden Frame des Videos zu einer Textur in einer Schleife rendern und dann über OpenGL rendern. ist das unter ios und/oder android möglich?android/ios: Ein Video über opengl abspielen

+1

Related: http://stackoverflow.com/questions/31027536/binding-video-texture-on-open-l-sphere- on-android –

+0

@MorrisonChang Haben Sie etwas für iOS? –

Antwort

1

Es ist möglich auf iOS, aber es ist ziemlich schwierig, es schnell genug zu laufen, um mit einem Video-Stream zu halten.

Es gibt eine alte Demo-App von Apple namens ChromaKey, die einen CVPixelBuffer von Core Video aufnimmt und direkt in eine OpenGL-Textur mappt, ohne die Daten kopieren zu müssen. Das macht Leistung viel besser, und ist der Ansatz, den ich vorschlagen würde.

Ich weiß nicht, ob es mehr aktuellen Beispielcode gibt, der zeigt, wie es gemacht wird. Dieser Code stammt aus den Tagen von iOS 6 und wurde in Objective-C geschrieben. (Ich würde vorschlagen, eine neue iOS-Entwicklung in Swift, da ist, wo Apple seinen Schwerpunkt legt.)

+1

danke Duncan, ich versuche, die chromaKey-Demo ohne Erfolg zu finden :(es ist perfekt objective-c für mich :) – loki

+1

Ich habe wahrscheinlich das Projekt irgendwo. Wenn Sie mich auf Ihre E-Mail-Adresse verweisen können, kann ich Ihnen diese senden (ich rate davon ab, Ihre E-Mail-Adresse hier zu posten, zumindest ohne sie zu verdunkeln, da Webcrawler dazu neigen, sich an Sie zu klammern und Sie mit Spam zu belästigen.) –

+0

nospam "Teil der Adresse, oder soll ich das entfernen? –