J'observe un étrange problème visuel lorsque j'utilise un GLSurfaceView pour afficher un aperçu de la caméra sur Android.Problème de couleur de l'aperçu de la caméra Android (rouge et bleu sont échangés)
Les rouges et les bleus semblent être intervertis dans le fil de prévisualisation de la caméra - les verts semblent ok. Voir la capture d'écran ci-dessous.
Je ne suis voyant ce problème sur quelques appareils (toutes les variantes du Samsung Galaxy S4).
Le problème survient uniquement lors de l'utilisation de certaines résolutions - 720x960 vers le haut est bien, tout ce qui est en dessous de ce problème présente le problème (par exemple 640x480).
Le problème se produit à la fois sur la caméra avant et arrière.
La question est reproductible dans l'application de l'échantillon Grafika (en supposant que vous avez une pratique Samsung Galaxy S4) en changeant la ligne 185 de CameraCaptureActivity.java comme ceci:
// openCamera(1280, 720); // change this ...
openCamera(640, 480); // to this
je besoin d'encoder H264 à 640x480. J'ai pensé que je pourrais contourner le problème en utilisant une résolution plus élevée (même format) mais en réglant mon encodeur à 640x480 - malheureusement, cela conduit à un flux vidéo blocky horrible, probablement dû au rééchantillonnage.
Cela est vrai, lorsque setRecordingHint est défini sur true dans certaines résolutions, il provoque également un problème d'écran vert. – RxRead