我从Grafika开始了一个项目,并进行了修改。 我有一个框架(与原始框架相比并不太不同),它捕获来自
使用
媒体格式设置为MIME类型
但对于一些手机,编码的视频色度值略微偏斜,并且底部有一个绿色条。
当前,编码器表面的分辨率为640x360。 EGLConfig选择支持32位RGBA格式的渲染表面。
在所有手机中,预览都是完美的。
因此,我认为应用程序方面或操作系统框架方面的编码器参数存在问题。
Camera
的预览,并同时以不同分辨率将其连续编码为视频。使用
COLOR_FormatSurface
配置了MediaCodec
(用于编码),以便我们能够使用GLES渲染到使用getInputSurface()
查询的表面上。媒体格式设置为MIME类型
video/avc
对于大多数手机,此设置是完美的。但对于一些手机,编码的视频色度值略微偏斜,并且底部有一个绿色条。
当前,编码器表面的分辨率为640x360。 EGLConfig选择支持32位RGBA格式的渲染表面。
在所有手机中,预览都是完美的。
因此,我认为应用程序方面或操作系统框架方面的编码器参数存在问题。
这发生在Android 4.4上。不确定是否可以在5.*上重现。
]2
640x360
是编码分辨率吗?你是否在编码1080p
?如果是这样,那么我认为你的问题是由于垂直对齐引起的。编码器可能会读取 1088 而不是 __1080__。如果是这样,摄像机输出应该进行类似的对齐。 - Ganesh