Android视频编码–H264编码
Android中的H264编码有两种编码方式:
- 硬编码
- 软编码
1.硬编码
Android中的H264硬编码主要是通过自身提供的API,调用底层的硬件模块实现编码,不使用CPU。
采用硬编码的核心示例代码如下:
void encodeYuvFrame(byte[] yuvFrame) {
ByteBuffer[] inBuffers;
ByteBuffer[] outBuffers;
int bufferIndex;
inBuffers = mEncoder.getInputBuffers();
outBuffers = mEncoder.getOutputBuffers();
bufferIndex= mEncoder.dequeueInputBuffer(-1);
if (bufferIndex>= 0) {
ByteBuffer bb = inBuffers[bufferIndex];
bb.clear();
bb.put(yuvFrame, 0, yuvFrame.len