【发布时间】:2016-08-30 13:44:30
【问题描述】:
我在使用 GLSurfaceView 在 Android 上渲染相机预览时观察到一个奇怪的视觉故障。
相机预览提要中的红色和蓝色似乎互换了 - 绿色似乎还可以。请参阅下面的屏幕截图。
我只在少数设备(三星 Galaxy S4 的所有变体)上看到此问题。
只有在使用某些分辨率时才会出现故障 - 720x960 以上是可以的,低于此分辨率的任何东西都会出现问题(例如 640x480)。
问题出现在前后摄像头上。
通过更改 CameraCaptureActivity.java 的第 185 行,可以在 Grafika 示例应用程序中重现该问题(假设您手边有三星 Galaxy S4):
// openCamera(1280, 720); // change this ...
openCamera(640, 480); // to this
我需要将 H264 编码为 640x480。我认为我可以通过使用更高的分辨率(相同的宽高比)来解决这个问题,但仍然将我的编码器设置为以 640x480 运行 - 不幸的是,这会导致可怕的块状视频输入,可能是由于重新采样。
【问题讨论】:
标签: android android-camera opengl-es-2.0 android-mediacodec glsurfaceview