Android 相机有一个 onPreviewFrame 回调,它会返回一个帧作为 byte[] 数据。
我已将相机设置为以 1280 x 720 返回数据(NV21 格式)字节 [] 数据。
我想做的事:
我想将一些帧保持在 1280 x 720 分辨率(到 jpeg)。
并以较低的分辨率(如 720 x 480)生成 mp4 基本流。
问题
如果 MediaFormat.Key_Width 和 MediaFormat.Key_Height 不等于 onPreviewFrame 的宽度和高度,MediaCodec 会出错。
我想知道是否可以将我的 byte[] 数据(NV21)从 1280 x 720 缩放到更低的分辨率,例如 720 x 480 分辨率,然后将其馈送到编码器?
如果可能,将 NV21 的 1280 x 720 分辨率的 byte[] 数据转换为较低分辨率的步骤是什么。
感谢阅读,如果有任何建议或帮助,将不胜感激。