我从Grafika开始了一个项目并对其进行了修改。我有一个框架(与原始框架没有太大不同),它从 中捕获预览Camera
并以不同的分辨率同时将其连续编码为视频。
MediaCodec
(用于编码)配置为使用COLOR_FormatSurface
,以便我们能够渲染到getInputSurface()
使用 GLES 查询的表面。
媒体格式设置为 MIME 类型video/avc
对于大多数手机,此设置完美运行。
但对于一些手机,编码视频的色度值略微倾斜,底部有一个绿色条。
目前,编码器表面的分辨率为 640x360。选择渲染到表面的 EGLConfig 支持 32 位 RGBA 格式。
预览在所有手机中都是完美的。
所以我假设在应用程序端或操作系统框架端的编码器参数有问题。
它发生在 Android 4.4 上。- 不确定,如果它可以在 5.* 上重现。
] 2