jjzjj

getInputImage

全部标签

android - 使用 getInputImage 和 MediaCodec 进行编码

背景:我进行视频文件解复用,解码视频轨道,对接收到的帧应用一些更改,再次解码和复用它们。在Android中执行此操作的已知问题是供应商指定编码器/解码器颜色格式的数量。Android4.3引入了surface来独立于设备,但我发现很难使用它们,因为我的框架更改例程需要写入Canvas。自Android5.0以来,灵活的YUV420颜色格式的使用大有可为。与用于解码的getOutputImage和用于编码的getInputImage一起,Image对象可以用作从解码MediaCodec检索的格式。我使用getOutputImage进行解码工作,并且可以在RGB转换后可视化结果。对于编码Y

android - MediaCodec getInputImage 在某些设备上返回 null

我想通过将颜色格式设置为COLOR_FormatYUV420Flexible来使用MediaCodec进行编码。我的输入缓冲区是yuv420p。当我像这样输入缓冲区时:intinputBufferIndex=mEncoder.dequeueInputBuffer(-1);mCurrentBufferIndex=inputBufferIndex;if(inputBufferIndex>=0){ByteBufferinputBuffer=inputBuffers[inputBufferIndex];//if(VERBOSE)Log.i(TAG,"pos:"+inputBuffer.posi